ssh-copy-id 到不同的远程主机

ssh-copy-id 到不同的远程主机

你好,我有一台带 ubuntu 的笔记本电脑和一台 mac,我必须ssh-copy-id成功地使用 mac,但是当我尝试从 Mac 到 ubuntu 时,我收到了警告。我设置了一个新密钥,但当从 Mac 尝试时to ssh-copy-idubuntu 我收到此警告

The authenticity of host '192.168.x.xxx (192.168.x.xxx)' can't be established.
    ECDSA key fingerprint is -----------------------------------------.
    Are you sure you want to continue connecting (yes/no)?

所以每次我去ssh-copy-id任何远程机器时我总是会得到

The authenticity of host '192.168.x.xxx (192.168.x.xxx)' can't be established.
ECDSA key fingerprint is -----------------------------------------.
Are you sure you want to continue connecting (yes/no)?

第一次 ??或者我做错了什么?

先谢谢你了~!

答案1

是的,这是 的默认和预期行为ssh

每次连接到未在 .txt 文件中列出的主机时,您都会收到警告~/.ssh/known_host

如果您写 yes,主机及其指纹将被添加到 中known_hosts,如果您选择 no,则不会。

如果您连接到相同的 ip/fqdn,但指纹不相同,您将收到错误消息并提示您删除有问题的主机以known_host继续连接。

仅当更换/重新安装主机或用户时,指纹才会改变。

这是通过以下标志在 /etc/ssh/ssh_config 中配置的:

StrictHostKeyChecking

known_hosts因此,如果您之前没有连接过其他基于 ssh 的工具,任何基于 ssh 的工具都会提示您添加主机,这是正常的。

答案2

您只会收到该消息,如果

1) 您是第一次连接到机器。您收到该消息是因为您要连接的服务器具有未知的 SSH 公钥 ( /etc/ssh/*.pub),该密钥尚未添加到您的已知主机文件 ( ~/.ssh/known_hosts)

2) 如果您尝试连接的服务器上的上述公钥已更改。你重新镜像了你的 Ubuntu 系统吗?否则可能是中间人攻击(如果是在您的家庭网络上则不太可能)

3) 如果您之前使用其 IP 地址连接到主机,但现在使用其主机名或 DNS 别名(反之亦然),您将收到该消息。这是因为~/.ssh/known_hosts文件中的每个条目都有一个单独的主机名和 IP 地址条目。

相关内容