OpenSSH 如何确定选择主机密钥算法?

OpenSSH 如何确定选择主机密钥算法?

更新 raspbian 及其所有库后,我注意到 SSH 有一些不同。当我删除家中的“已知主机”文件并通过 ssh 进入我的盒子时,它会像往常一样为我提供主机公钥,但这次我看到:

ecdsa-sha2-nistp256 SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

我发誓几个月前它总是给我一个 RSA 密钥类型。为什么会发生这种变化?服务器如何决定 /etc/ssh/ 中的哪个公钥指纹为用户提供连接?

ssh --version在客户端 linux mint 18 机器输出OpenSSH_7.2p2 Ubuntu-4ubuntu1, OpenSSL 1.0.2g-fips 1 Mar 2016和主机输出上OpenSSH_6.7p1 Raspbian-5+deb8u3, OpenSSL 1.0.1t 3 May 2016

答案1

客户端可以使用命令行 ssh_config中的 HostKeyAlgorithms 选项指定其首选的主机密钥算法。在您的系统上查看您的 openssh 版本的默认 HostKeyAlgorithms 首选项。服务器将使用客户端列表中的第一个密钥类型~/.ssh/configman ssh_config存在于服务器上。

如果您希望保留旧的 RSA 密钥质询,请-oHostKeyAlgorithms=ssh-rsa在命令行中添加“”,或添加以下行

HostKeyAlgorithms ssh-rsa

到您的 ssh 配置文件。

相关内容