日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SSH基础:ssh首次连接的公钥认证

發布時間:2023/12/16 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SSH基础:ssh首次连接的公钥认证 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


非對稱密鑰算法諸如RSA、ECDSA等在證書管理方面有著廣泛的應用,在使用的很頻繁的ssh命令執行時首次就會用到,這篇文章將通過首次登錄信息中密鑰指紋信息的來龍去脈,說明證書公鑰在ssh認證中的作用。

首次連接的信息示例

首次連接某臺機器,可能會如下示例信息:

liumiaocn:~ liumiao$ ssh host121 The authenticity of host '[127.0.0.1]:21122 ([127.0.0.1]:21122)' can't be established. ECDSA key fingerprint is SHA256:y9ir2Jbc7kNZPhP9h/O9juUZbTmGDo6NZi2IZnLwg0s. Are you sure you want to continue connecting (yes/no)?

可以看到這是名為host121的機器,實際上是在127.0.0.1的本機上在21122進行的端口連接。上述提示的信息是說這臺目標機器的SHA256密鑰指紋是y9ir2Jbc7kNZPhP9h/O9juUZbTmGDo6NZi2IZnLwg0s,是否需要繼續連接。根據操作系統的不同,有時也會同時顯示SHA256和MD5方式的指紋信息,比如:

[root@host121 ssh]# ssh 192.168.163.121 The authenticity of host '192.168.163.121 (192.168.163.121)' can't be established. ECDSA key fingerprint is SHA256:y9ir2Jbc7kNZPhP9h/O9juUZbTmGDo6NZi2IZnLwg0s. ECDSA key fingerprint is MD5:d5:e7:dc:b3:21:06:5a:e5:c0:f7:a4:60:f7:59:d4:48. Are you sure you want to continue connecting (yes/no)?

關于密鑰指紋

密鑰指紋實際上是非對稱加密算法的公鑰的應用,在這里它用來表示登錄對象機器的身份,比如此處算法使用的是ECDSA,顯示的指紋密鑰實際上就是對使用ECDSA算法產生的公鑰文件再次進行SHA256算法進行摘要,從而形成代表服務器身份的數字指紋,在登錄的時候,向用戶提示此指紋信息,表示和此機器建立連接,相當于要求用戶對此證書信息進行確認。

確認流程和方式

在實際的場景中此問題簡單的多,如果碰到了類似的ssh的身份認證連接,擔心是否真正連接到目標機器,一般目標機器的提供者應同時提供此指紋信息。這里以IP為192.168.163.121的虛擬機的ssh首次連接為例,說明上述指紋信息的來源

ECDSA的公鑰信息

前面提到過此提示信息實際上述ECDSA公鑰的摘要內容,首先確認此公鑰文件的內容信息,有如下兩種方式可以進行確認:

  • 方法1: 直接確認公鑰文件內容
    在機器安裝的時候,缺省會在/etc/ssh目錄下生成基于RSA、ECDSA等算法的公鑰和私鑰文件,直接使用cat命令顯示文件內容即可
[root@host121 ssh]# pwd /etc/ssh [root@host121 ssh]# ls moduli sshd_config ssh_host_ecdsa_key.pub ssh_host_ed25519_key.pub ssh_host_rsa_key.pub ssh_config ssh_host_ecdsa_key ssh_host_ed25519_key ssh_host_rsa_key [root@host121 ssh]# cat ssh_host_ecdsa_key.pub ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEy3w5004yyzNA8dXo1vo67E63tZybV88SiDupDfnHzHCeZ4tHjNqdabc9Fa+Jwwe5uIjcUFb+Ag4HaBjK4982U= [root@host121 ssh]# cat ssh_host_rsa_key.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/pnteFxnI3Rk8OHVqJeIq83umem5/2VKjkZ7JJKi4wPJVYCrRBySPWdTs0V/T+sZdtF8LWmDw8yKuIYmb0yOm3d+3eFnQKVCtEcnP/Ctyuenha1o2PYzTv/4fjZX5Rf8SBXw6MbrHLE2ctjbhWrhQ6gbZ7C8fU82YS/EoWG2uk3XtRq0Ua6s5v9f1x3HV8PsDycrgQG99bw4Gr4dJ8u5a3MzpNtLS5Df7JlES683AoER1RHxmg+BP4zvXS2ePDhMr7gHi/fI35UMH78K/FJQu9oj46WUHkwWrOr2SbvKJLHy9GkDBLDj9EH8Tp4u+EVRqyH9Dsn1RJ9NOzxrEYtXl [root@host121 ssh]#
  • 方法2: 使用ssh-keyscan命令
    使用ssh-keyscan命令可以直接在客戶端上獲得相同信息:
liumiaocn:~ liumiao$ ssh-keyscan -t ECDSA -p 21122 127.0.0.1 # 127.0.0.1:21122 SSH-2.0-OpenSSH_7.4 [127.0.0.1]:21122 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEy3w5004yyzNA8dXo1vo67E63tZybV88SiDupDfnHzHCeZ4tHjNqdabc9Fa+Jwwe5uIjcUFb+Ag4HaBjK4982U= liumiaocn:~ liumiao$ ssh-keyscan -t RSA -p 21122 127.0.0.1 # 127.0.0.1:21122 SSH-2.0-OpenSSH_7.4 [127.0.0.1]:21122 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/pnteFxnI3Rk8OHVqJeIq83umem5/2VKjkZ7JJKi4wPJVYCrRBySPWdTs0V/T+sZdtF8LWmDw8yKuIYmb0yOm3d+3eFnQKVCtEcnP/Ctyuenha1o2PYzTv/4fjZX5Rf8SBXw6MbrHLE2ctjbhWrhQ6gbZ7C8fU82YS/EoWG2uk3XtRq0Ua6s5v9f1x3HV8PsDycrgQG99bw4Gr4dJ8u5a3MzpNtLS5Df7JlES683AoER1RHxmg+BP4zvXS2ePDhMr7gHi/fI35UMH78K/FJQu9oj46WUHkwWrOr2SbvKJLHy9GkDBLDj9EH8Tp4u+EVRqyH9Dsn1RJ9NOzxrEYtXl liumiaocn:~ liumiao$

生成密鑰指紋

使用如下命令即可根據公鑰文件生成密鑰指紋(摘要信息):

生成SHA256方式密鑰指紋(ECDSA):ssh-keygen -E sha256 -lf /etc/ssh/ssh_host_ecdsa_key.pub

生成MD5方式密鑰指紋(ECDSA):ssh-keygen -E md5 -lf /etc/ssh/ssh_host_ecdsa_key.pub

執行日志示例如下所示:

[root@host121 ssh]# ssh-keygen -E sha256 -lf /etc/ssh/ssh_host_ecdsa_key.pub 256 SHA256:y9ir2Jbc7kNZPhP9h/O9juUZbTmGDo6NZi2IZnLwg0s no comment (ECDSA) [root@host121 ssh]# ssh-keygen -E md5 -lf /etc/ssh/ssh_host_ecdsa_key.pub 256 MD5:d5:e7:dc:b3:21:06:5a:e5:c0:f7:a4:60:f7:59:d4:48 no comment (ECDSA) [root@host121 ssh]#

可以看到ssh首次連接時提示的密鑰指紋信息了。

總結

ssh首次連接時寫到know_hosts中的密鑰指紋信息的來源是對目標機器的公鑰進行數字摘要算法而得出的,結合流程可以預防中間人攻擊。

總結

以上是生活随笔為你收集整理的SSH基础:ssh首次连接的公钥认证的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。