如何从已知主机列表中删除永久添加的主机?

时间:2015-05-27 18:43:10

标签: git ssh

目前我正在研究由我的大学主办的项目。我们使用git作为版本控制工具,当我第一次连接到主机时,它显示以下消息: “警告:永久性地将'...'(RSA)添加到已知主机列表中。”

  1. 这究竟意味着什么?

  2. 作业完成后,如何从已知主机列表中删除它?如果我不这样做有什么问题吗?

4 个答案:

答案 0 :(得分:9)

如果某些内容已经添加到“已知主机列表”中,那么在Windows下的git bash shell中以及linux下,将在 known_hosts 文件中添加一个条目,该条目可以在。主目录下的ssh目录。

这是一个文本文件,将显示已添加的任何主机名/ IP地址/密钥组合的条目。

所以 cat ~/.ssh/known_hosts

应显示以下文件

您可能会看到类似于以下内容的内容

removelater.com,123.456.789.10 key-of-key charactersRepresentingTheKeyForRemoveLaterHost keep.com,321.654.​​987.10 ssh-rsa differentSetOfCharactersRepresentingKeyForKeepHost ==

上面的文件有两行。

使用您喜欢的编辑器(例如vi ~/.ssh/known_hostsnotepad ~/.ssh/known_hosts),只需删除包含您要删除的主机引用的完整行并保存文件。

尝试再次连接到您已删除的主机将再次导致

无法确定主机'removelater.com(123.456.789.10)'的真实性。

答案 1 :(得分:3)

从 known_hosts 中删除一台主机的最简单方法是使用:

ssh-keygen -R hostname

示例

ssh-keygen -R 192.168.1.10
ssh-keygen -R abc.lan
ssh-keygen -R domain.com

答案 2 :(得分:1)

这意味着git已经使用SSH为您登录远程主机,并且之前从未连接到该服务器,因此它将服务器添加到已知主机列表中。如果服务器更改其身份(例如,您的连接被攻击者截获),则SSH将拒绝连接到它。

阅读本文:https://security.stackexchange.com/questions/20706/what-is-the-difference-between-authorized-key-and-known-host-file-for-ssh

除非你是偏执狂并希望有人试图窃取你的密码或你的工作,否则没有必要担心这个问题。

答案 3 :(得分:0)

以下是我在Mac上用来从known_host文件中删除特定主机的快速重写:

grep -v <full.hostname> ~/.ssh/known_hosts > temp.txt
mv temp.txt ~/.ssh/known_hosts

这基本上重写了known_hosts文件中的所有内容,但包含指定主机名的行除外。