我使用我的用户名通过 ssh 使用 ip 地址登录到远程服务器 ssh user@ipaddress

在我的known_hosts文件和服务器的公钥文件中获得了以下服务器密钥:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIML0EFwYit1Z/zUQx3kUsUxpS0Masdizyl36UGDrXP3W

其 sha256sum 如下:

user@computer:~$ sha256sum /etc/ssh/ssh_host_ed25519_key.pub
cc86691095b2e5a76e96744a30520f71a14c90a4a07c294a5b9c7ce1cf4cb176  /etc/ssh/ssh_host_ed25519_key.pub

我想为它创建一个别名,因此我将以下配置添加到我的 ~/.ssh/config 文件中:

Host wiki
  HostName SameIPAddress
  IdentityFile ~/.ssh/id_ed25519
  ServerAliveInterval 120
  ServerAliveCountMax 30

当我尝试使用别名 cmd 登录时ssh user@wiki

我获得了以下服务器密钥:

The authenticity of host 'SameIPAddress (SameIPAddress)' can't be established.
ED25519 key fingerprint is SHA256:nRNi8asPrzCz0HMraA3e9qyQbT37J+3/e5HVaovhCNmM.

我认为,如果我使用相同的密钥但不同的别名登录到同一个服务器,我应该获得与使用 IP 地址登录时获得的密钥相同的 sha256 总和。

我希望您能对我尝试使用别名登录时看到不同密钥的原因有所了解:)

1

  • 您是否在客户端上运行 OpenSSH 8.5 或更高版本,或者已CheckHostIP no配置?旧版 OpenSSH 默认将主机名CheckHostIP yesIPaddr存储在 known_hosts 中,因此对同一 IPaddr 使用不同的名称会找到并使用已知密钥。在最近的 OpenSSH 上,您可以根据需要明确重新启用此行为。但是对于您发布的密钥,我找不到CxBo1OwWLH9WIHeGZmoUSGgcvywUwaHeuG2P/Q2hHEInRNi8asPrzCz0HMraA3e9qyQbT37J+3/e5HVaovhCNmM


    – 


最佳答案
1

密钥的 SHA256 指纹等于包含它的文件的 SHA256 总和。

在服务器上运行ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key以查找密钥的 SHA256 和。

1

  • 1
    或者如果你是一个受虐狂,cut -d' ' -f2 pubkeyfile | base64 -d | sha256sum | xxd -r -p | base64 | sed 's/=*$//'


    –