SSH:配置 ssh_config 以使用特定服务器指纹的特定密钥文件

SSH:配置 ssh_config 以使用特定服务器指纹的特定密钥文件

我有一个基于密钥的服务器登录名。服务器的 IP 和 DNS 可能会更改,因为它托管在 Amazon 上。

当服务器的指纹匹配时,有没有办法配置 ssh 客户端配置以仅使用此服务器的特定密钥文件?

换句话说:通常服务器在 ssh 客户端配置中通过 IP 或 DNS 匹配。我想通过指纹来做到这一点,因为 IP 和 DNS 可能会改变。

答案1

Host您可以在中的部分中使用通配符~/.ssh/config。如果您使用 EC2 的主机名连接到您的实例,则以下操作应该有效:

Host *.compute-1.amazonaws.com
    IdentityFile ~/.ssh/id_rsa.aws
    # If you don't want to verify host fingerprints because they change all the time
    CheckHostIP no
    StrictHostKeyChecking no
    UserKnownHostsFile /dev/null

如果您使用 IP 地址,则必须找到正确的 IP 范围并添加适当的通配符条目来匹配这些 IP 地址。

答案2

尝试一下这是否适合您:将~/.ssh/config以下内容添加到文件:

Host alias_for_host_you_want_to_connect
HostName real_name_for_host_you_want_to_connect
CheckHostIP no
IdentityFile /path/to/your/keyfile
#StrictHostKeyChecking no

(如果其他方法都失败的话,请注释掉最后一行)

相关内容