每次我使用git与遥控器交互时,比如拉或推时,我都会看到以下消息:

警告:永久添加'…' (RSA)到已知主机列表。

如何防止显示这个烦人的消息?这只是一个烦恼——一切都很正常。


当前回答

我在Linux/Cent操作系统虚拟机中也遇到过同样的错误,这是因为重启后IP发生了变化。为了解决这个问题,我在网络中定义了一个静态IP,并将该条目添加到/etc/hosts文件中。对于静态IP,请提到稍微高一些的范围值。例如,如果您当前的IP (ipconfig/ifconfig)是192.168.0.102,下次重启后可能会变成192.168.0.103。因此,在IPV4设置中定义您的静态IP为192.168.0.181,这应该可以做到这一点。

其他回答

这主要意味着该主机的键发生了变化~/。ssh/known_hosts,它不会自动更新它。因此,每当您收到此警告消息时。

这种情况经常发生在连接到重新创建的虚拟机时,它会使用相同的IP地址更改密钥

解决方案

如果只有一个条目,那么可以删除~/。Ssh /known_hosts文件,并且在第一次连接之后,密钥将在那里,之后没有警告消息。

如果有多个条目,则可以使用下面的命令删除

$ ssh-keygen -R <hostname>

这对我来说很有效

该消息来自SSH,它警告您正在连接到一个您以前从未连接过的主机。我不建议关闭它,因为这意味着您可能会错过关于主机密钥更改的警告,这可能表明SSH会话受到MITM攻击。

创建一个~/。Ssh /config文件并插入行:

UserKnownHostsFile ~/.ssh/known_hosts

然后,您将在下次访问Github时看到该消息,但在此之后,您将不再看到它,因为主机已添加到known_hosts文件。这可以修复问题,而不仅仅是隐藏日志消息。

这个问题困扰了我很长时间。出现此问题是因为为Windows编译的OpenSSH客户端没有检查~/.ssh/known_hosts中的known_hosts文件

SSH -vvv git@github.com

debug3: check_host_in_hostfile: filename /dev/null
debug3: check_host_in_hostfile: filename /etc/ssh/ssh_known_hosts
debug3: check_host_in_hostfile: filename /dev/null
debug3: check_host_in_hostfile: filename /etc/ssh/ssh_known_hosts
Warning: Permanently added 'github.com,207.97.227.239' (RSA) to the list of known hosts.

添加ssh密钥

ssh-keygen -t rsa -b 4096 -C "abc@abc.com"

eval "$(ssh-agent -s)"

ssh-add ~/.ssh/bitbucket_rsa

机箱配置文件

crate ~/.ssh/config

加到下面一行。

UserKnownHostsFile ~/.ssh/known_hosts

然后添加pub密钥和克隆您的存储库…做……

当我开始使用Windows电脑时,我也遇到了同样的问题。在我的例子中,这是因为我的SSH设置没有完成。Github有一个关于SSH设置的非常精确的文档。一旦解决了这个问题,问题就解决了。

https://help.github.com/articles/checking-for-existing-ssh-keys/ https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/