SSHサーバのRSA fingerprintの确认方法

  • 通过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の确认メッセージは表示されなくなります。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章