0

我试图更好地了解主机身份验证ssh是如何进行的。我正在从 macbook pro (OSX 10.14.6) SSH 到几个 CentOS 8.1 服务器。远程 CentOS 服务器上有几个文件用于基于主机的身份验证(例如、、)。/etc/ssh/ssh_host_ed25519_key.pubssh_host_dsa_key.pubssh_host_rsa_key.pub

如果我查看我的 macbook 的 local ~/.ssh/known_hosts,我会看到使用ssh-rsawhich 对应于/etc/ssh/ssh_host_rsa_key.pub. ecdsa-sha2-nistp256我还看到对应于的条目/etc/ssh/ssh_host_ecdsa_key.pub

问题

  1. 当我ssh进入远程服务器时,是否有办法强制ssh使用特定算法进行主机身份验证,或者这是我必须手动更改的东西known_hosts?例如强制它使用ssh_host_ecdsa_key.pub而不是ssh_host_rsa_key.pub.

  2. 默认情况下如何ssh决定使用哪种算法进行主机身份验证?

4

1 回答 1

0

您可以使用该-o标志来指定 SSH 的选项。其中一个选项HostKeyAlgorithms将控制您的客户提供哪些算法,请参阅:https ://man.openbsd.org/ssh 。

如果您使用该-vv标志运行 ssh,您可以看到您的客户提供的报价。然后服务器选择它支持的客户端使用的第一个算法。我猜想不同的支持不同的算法。

于 2021-09-16T13:59:40.863 回答