- 通过SSH从客户端
初回
连接服务器的时候, 服务器端会返回是否正确的确认信息。(正确的应该是客户端被保存的RSA键的状态)
下面是连接192.168.1.100这台服务器时候的Log,显示了
RSAkey的信息(指纹)
$ ssh 192.168.1.100
The authenticity of host '192.168.1.100 (192.168.1.100)' can't be established.
RSA key fingerprint is 33:95:b2:19:c0:b0:e4:91:a0:55:94:65:4a:af:58:c9.
Are you sure you want to continue connecting (yes/no)?
如果本地私有秘钥的fingerprint和这个message显示的fingerprint一致的话,这说明打算连接的这个服务器是你想要连接的正确的服务器
实验一下,一堆秘钥 private_use_in_github和private_use_in_github.pub, 通过
ssh-keygen -l -f
这个命令可以确认秘钥的指纹,可以看到私有秘钥和共有的的出来的fingerprint是一样的
➜ .ssh ssh-keygen -l -f private_use_in_github
2048 SHA256:3pDPN+oulzfmFwpOJ0T4bKQwSLKopkcts7aE6xvHQ24 [email protected] (RSA)
➜ .ssh ssh-keygen -l -f private_use_in_github.pub
2048 SHA256:3pDPN+oulzfmFwpOJ0T4bKQwSLKopkcts7aE6xvHQ24 [email protected] (RSA)
秘钥存放的位置 如下
- /etc/ssh/ssh_host_rsa_key.pub
- 只能通过
ssh-keygen -l -f
命令来获取指纹,不用用cat
cat 的话显示的健的内容
ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub 2048 33:95:b2:19:c0:b0:e4:91:a0:55:94:65:4a:af:58:c9 (RSA)
cat /etc/ssh/ssh_host_rsa_key.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/PfchCsFTk+CB+6hTyve5Bgd0xye0fRWR2B7DXV4etKt5NhXwUxJ26np8ZXe2AMswewFNra2MpIdVpgtij8yDLPLYIznd8djSJyqv9MTwjdahDhpKn7s8D/8grADWuaCWk7uujLU4O+2fdCJDdIjj0IEHnXTYeBF+3kJq17SitNm66EyCu7v4NmbIYerQtXgtazrDmrPyiYLyTWX9U0cqMtj1QEbyMvfCeSGJYCJbwpe3p/bk5125aV8JTSaybDKe015ott582XohIS/G0/5mZ/uHCHIJMIqXtUhU+aeZySKBjo8tY8CLZKisfbfkXBtgiFLbOBMKHo0KVG4Zg3Y
ちなみに、このファイルの内容はSSHで接続されると、クライアントknow_hostsに书き込まれ、2度目以降の接続の际にはクライアント侧ではfingerprintの确认メッセージは表示されなくなります。