ssh密鑰登錄


一、生成密鑰對(兩種方式)並配置

方式1:使用ssh-keygen(1)生成並配置

(1)生成密鑰對

[root@iZwz9catu2mrq92b07d1d0Z ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.

//輸入文件名稱
Enter file in which to save the key (/root/.ssh/id_rsa): keys_root   
//輸入私鑰加密密碼
Enter passphrase (empty for no passphrase):    
//再次輸入密碼                       
Enter same passphrase again:                            
              
Your identification has been saved in keys_root.
Your public key has been saved in keys_root.pub.
The key fingerprint is:
f4:f9:70:51:cf:09:f6:da:30:6a:b1:67:4f:dc:14:44 root@iZwz9catu2mrq92b07d1d0Z
The key's randomart image is:
+--[ RSA 2048]----+
|             o+E |
|            ..ooo|
|        .  ..o o+|
|       . . .+.*..|
|        S ++.+ +.|
|          .+o o  |
|            .  . |
|                 |
|                 |
+-----------------+

//文件生成成功,keys_root為私鑰,keys_root.pub為公鑰
[root@iZwz9catu2mrq92b07d1d0Z ~]# ls
keys_root  keys_root.pub   

(2)配置公鑰

//將生成的公鑰寫入到用戶的authorized_keys
[root@iZwz9catu2mrq92b07d1d0Z ~]# echo -e '#this is keys_root' >> ~/.ssh/authorized_keys ; cat ~/keys_root.pub >> ~/.ssh/authorized_keys   

[root@iZwz9catu2mrq92b07d1d0Z ~]# cat ~/.ssh/authorized_keys
#this is keys_root
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAyhp9SBxas8Nmwdi4dQfOuUULpMGRnGEFopU2DXhSF+PE/s80xrVS31Ycd5o4gU3iehKx2vo4OEB2lYZ2JCfptTc59HAj+Qwqh7i5S4YQuX/+31GkY+s8XKFR4QgH1ubQt9feU2cagfG1f+wWRsa0YtefE67Kjv6OZuKuA2bOdrAH4mzV1m71iLMUZYgaEnfJExXj2lbPAXRqCV+tdIj9h0jxhB5pQXsZ3NE38D22WYNKO4Sy8odfE7Oby1I0Emm8Uhiwqgx91HP22iY/WqzZOxeKZPF17CPWr9cChaPh9/DXM1Wd8KDCg33MO6hbpqAwh7iEughndXly0FY0oZNKnQ== root@iZwz9catu2mrq92b07d1d0Z

(3)配置私鑰

  1. 下載私鑰到本地機器
    [root@iZwz9catu2mrq92b07d1d0Z ~]# sz keys_root 
  2. 啟動Xshell
  3. 工具(Tools)
  4. 用戶密鑰管理者(User Key Manager)
  5. 導入已下載的 keys_root 文件(Import)
  6. 配置完成

方式2:使用Xshell生成並配置

  1. 啟動Xshell
  2. 工具
  3. 新建用戶密鑰生成向導(New User Key Wizard)
  4. 按步驟選擇下一步
  5. 輸入密鑰名稱和私鑰密碼后選擇下一步
  6. 密鑰對生成成功,此時私鑰已自動導入到Xshell中,需要我們手動保存公鑰到本地機器
  7. 上傳已保存的公鑰文件到服務器並配置在用戶的authorized_keys文件中

二、通過密鑰登錄服務器

  1. 新建會話,填寫名稱、主機等信息
  2. 選擇左側欄目用戶身份驗證,右側方法選擇Public Key,填寫用戶名,選擇對應的用戶密鑰並填寫密鑰的密碼,點擊確定
  3. 連接會話

 

附錄

[root@iZwz9catu2mrq92b07d1d0Z ~]# man ssh

1.ssh-keygen命令介紹

The user creates his/her key pair by running ssh-keygen(1). This stores the private key in ~/.ssh/identity (protocol 1), ~/.ssh/id_dsa (protocol 2 DSA), ~/.ssh/id_ecdsa (protocol 2
ECDSA), or ~/.ssh/id_rsa (protocol 2 RSA) and stores the public key in ~/.ssh/identity.pub (protocol 1), ~/.ssh/id_dsa.pub (protocol 2 DSA), ~/.ssh/id_ecdsa.pub (protocol 2 ECDSA), or
~/.ssh/id_rsa.pub (protocol 2 RSA) in the user’s home directory. The user should then  copy the public key to ~/.ssh/authorized_keys in his/her home directory on the remote machine.
The authorized_keys file corresponds to the conventional ~/.rhosts file, and has  one key per line, though the lines can be very long. After this, the user can log in without giving
the password.
注:每個用戶都擁有自己的 authorized_keys

2.authorized_keys文件介紹

~/.ssh/authorized_keys
Lists the public keys (RSA/ECDSA/DSA) that can be used for logging in as this user. The format of this file is
described in the sshd(8) manual page. This file is not highly sensitive, but the recommended permissions are
read/write for the user, and not accessible by others.
注:建議文件權限對擁有者為讀寫權限,其他用戶無權限

 

轉載請注明:http://www.cnblogs.com/cjh-notes/p/7865513.html


免責聲明!

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



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