- 通過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の確認メッセージは表示されなくなります。