linux中公鑰設置和遠程登錄


  首先申明,以下內容均源於網絡,所有的命令提示,解釋都是預先學習了網上的大牛們且自己進行了實驗。此處只是隨筆/記錄,便於本人以后學習,也便於大牛指正理解錯誤的地方!!

若有大牛發現問題還請在評論區指教。

公鑰和私鑰的生成

ssh-keygen命令專門是用來生成密鑰的。大家可以谷歌一下(條件不允許百度一下也行)。

這里列出了最基本的四個:

  1.-t 用來指定密鑰類型(dsa | ecdsa | ed25519 | rsa | rsa1  通常我們常用dsa和rsa算法進行加密,可以百度搜下);

  2.-P 用來指定密語;

  3.-f 用來指定生成的密鑰文件名;

  4.-C 用來添加注釋。

命令:

ssh-keygen -t rsa -P 123456 -f test -C 'my test key'

解釋:

就是新建了密語為123456注釋為my test key文件名為test的密鑰。此命令會生成testtest.pub兩個文件,前者為私鑰文件,后者為公鑰文件。如果你想免密登錄的話,請將密語設置為空。

另外:請注意ssh-keygen是用短線符號連接在一起的,不要分開,中間如果有空格會報錯:

Bad escape character 'ygen'.———不好的轉義字符“ygen”。

 

也可以不用輸這么長的命令一步一步的來根據提示操作:

命令:

ssh-keygen -t rsa  

 

截圖沒截好,最后無字的紅色箭頭文字內容為:到你創建公鑰目錄下去找test(私鑰)和test.pub(公鑰)兩個文件

 

將公鑰部署到服務器

上一步生成了公鑰和私鑰后,需要將公鑰部署到服務器並用私鑰登錄。使用/winscp/xhell/secureCRT/scp或者你的工具將公鑰上傳到服務器並將文件內容追加到~/.ssh/authorized_keys中。例如:

#在本機上執行此命令,上傳公鑰
1.xshell/secureCRT:
rz -e 找到test test。pub文件目錄
2.scp: scp -P your_port test.pub user@hostname:/tmp
3.winscp:
選擇上傳,或者直接拖放至目標文件夾 #在服務器上執行此命令,追加到authorized_keys(這個名字可以自己取,但后面使用要用對) cd /home/ && cat test.pub >> ~/.ssh/authorized_keys #更改權限 chmod 600 ~/.ssh/authorized_keys

更改服務器配置

  1.xhell/secureCRT等連接工具:

  執行vim /etc/ssh/ssh_config打開ssh_config

    # IdentityFile ~/.ssh/identity

    # IdentityFile ~/.ssh/id_rsa

    # IdentityFile ~/.ssh/id_dsa

    

 

    把前面#去掉,然后在 IdentityFile 后填寫你用來執行ssh時所用的密鑰

  

  2.scp連接修改,將如下的配置打開:

  執行vim /etc/ssh/sshd_config打開sshd_config配置文件

   RSAAuthentication yes    PubkeyAuthentication yes    AuthorizedKeysFile  .ssh/authorized_keys

    重啟sshdservice sshd restart或者systemctl restart sshd.service。重啟之后,服務器已經支持遠程ssh連接了

 

推薦使用1方法,方便。2方法有點難找。

連接服務器

1.xhell/secureCRT連接服務器的,直接導入私鑰並連接就行(推薦)

2.通過ssh命令來遠程連接服務器,執行ssh -p your_port username@domain -i your_private_certification命令,就可以連接到服務器。

pS:

如果只允許服務器通過公鑰和私鑰的方式來連接服務器,可將服務器配置文件/etc/ssh/sshd_config中的PasswordAuthentication yes改為PasswordAuthentication No

 

在重啟sshd時先不要關閉當前的連接,當你確認通過私鑰能連接到服務器再關閉,不然,一旦私鑰連不上,你又把密碼連接方式給禁用了,那就連接不上服務器了(反正我是不知道怎么連了)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM