sequenceDiagram
note left of 客户端:公钥(id_rsa)
note left of 客户端:私钥(id_rsa.pub)
客户端 ->>+ 服务器:事前发送私钥
Note over 客户端,服务器:SSH登录开始
客户端 ->>+ 服务器:发送登录请求
note left of 服务器:服务器比对已保存的公钥
服务器 ->>- 客户端:生成一个随机字符串(Challenge)并用客户端的公钥加密
note right of 客户端:客户端用私钥解密字符串(Challenge)
客户端 ->>+ 服务器:私钥解密后发送回服务器
note left of 服务器:如果两次字符串(Challenge)一致
服务器 ->>- 客户端:成功建立连接
note right of 服务器:公钥(authorized_keys)
[hadoop@master ~]$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/hadoop/.ssh/id_rsa): Created directory '/home/hadoop/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/hadoop/.ssh/id_rsa. Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub. The key fingerprint is: SHA256:PSXm5qw7rGgPTAKxv6M2OID105aZoepT9RuNshVGPfE hadoop@master The key's randomart image is: +---[RSA 2048]----+ |. ... | | o . o. | |o . o.E | | o. o o+ o | |..o..+ BS+= | |o == B =+.. | |o oooo = oo | |o+o..o. +. | |oooo..o.oo | +----[SHA256]-----+
如无特殊需求,比如公钥密码、存储位置等。这里可以直接回车下一步
秘钥即成功生成在~/.ssh/文件夹内
1 2 3 4 5 6 7 8 9 10 11 12 13
[hadoop@master ~]$ ls -la . total 12 drwx------. 3 hadoop hadoop 74 May 27 23:29 . drwxr-xr-x. 3 root root 20 May 27 23:26 .. -rw-r--r--. 1 hadoop hadoop 18 Aug 3 2017 .bash_logout -rw-r--r--. 1 hadoop hadoop 193 Aug 3 2017 .bash_profile -rw-r--r--. 1 hadoop hadoop 231 Aug 3 2017 .bashrc drwx------. 2 hadoop hadoop 38 May 27 23:29 .ssh
[hadoop@master ~]$ ll .ssh/ total 8 -rw-------. 1 hadoop hadoop 1679 May 27 15:40 id_rsa -rw-r--r--. 1 hadoop hadoop 395 May 27 15:40 id_rsa.pub