每次我使用git与遥控器交互时,比如拉或推时,我都会看到以下消息:
警告:永久添加'…' (RSA)到已知主机列表。
如何防止显示这个烦人的消息?这只是一个烦恼——一切都很正常。
每次我使用git与遥控器交互时,比如拉或推时,我都会看到以下消息:
警告:永久添加'…' (RSA)到已知主机列表。
如何防止显示这个烦人的消息?这只是一个烦恼——一切都很正常。
当前回答
该消息来自SSH,它警告您正在连接到一个您以前从未连接过的主机。我不建议关闭它,因为这意味着您可能会错过关于主机密钥更改的警告,这可能表明SSH会话受到MITM攻击。
其他回答
您只需要这个命令。
如果是,使用GitHub:
ssh -T git@gitlab.com
如果你使用GitLab:
ssh -T git@gitlab.com
我有同样的问题,我发现没有一个.ssh文件在我的~。所以我只是在~路径下创建了.ssh目录,问题就解决了。
在我的例子中,这是因为设置服务器的管理员在~/.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/known_hosts,它不会自动更新它。因此,每当您收到此警告消息时。
这种情况经常发生在连接到重新创建的虚拟机时,它会使用相同的IP地址更改密钥
解决方案
如果只有一个条目,那么可以删除~/。Ssh /known_hosts文件,并且在第一次连接之后,密钥将在那里,之后没有警告消息。
如果有多个条目,则可以使用下面的命令删除
$ ssh-keygen -R <hostname>
这对我来说很有效
将您的私钥添加到ssh-agent:
ssh-add ~/.ssh/id_rsa