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