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

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

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


当前回答

在我的例子中,这是因为设置服务器的管理员在~/.ssh/config中设置了这些选项

StrictHostKeyChecking no
UserKnownHostsFile /dev/null

在大多数情况下,不使用~/。ssh / known_hosts文件中。但是对于企业gitlab回购,每当它给出“警告:永久添加…”到已知的宿主名单。”

我的解决方案是注释掉UserKnownHostsFile /dev/null行,这允许创建~/.ssh/known_hosts。在那之后,它没有再给出任何警告。

在known_hosts中也可能有旧的/无效的条目。

# find entry in ~/.ssh/known_hosts
ssh-keygen -F <hostname>

# delete entry in ~/.ssh/known_hosts
ssh-keygen -R <hostname>

其他回答

在我的例子中,这是因为设置服务器的管理员在~/.ssh/config中设置了这些选项

StrictHostKeyChecking no
UserKnownHostsFile /dev/null

在大多数情况下,不使用~/。ssh / known_hosts文件中。但是对于企业gitlab回购,每当它给出“警告:永久添加…”到已知的宿主名单。”

我的解决方案是注释掉UserKnownHostsFile /dev/null行,这允许创建~/.ssh/known_hosts。在那之后,它没有再给出任何警告。

在known_hosts中也可能有旧的/无效的条目。

# find entry in ~/.ssh/known_hosts
ssh-keygen -F <hostname>

# delete entry in ~/.ssh/known_hosts
ssh-keygen -R <hostname>

将您的私钥添加到ssh-agent:

ssh-add ~/.ssh/id_rsa

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

如果你正在使用来自GitHub的存储库,可以考虑使用URL的HTTPS版本,以完全避免这个问题:

如果您从Windows GitHub应用程序中克隆存储库,这就是它用于远程URL的内容。也许他们知道一些我们不知道的事。

您只需要这个命令。

如果是,使用GitHub:

ssh -T git@gitlab.com

如果你使用GitLab:

ssh -T git@gitlab.com