如何从已知主机列表中删除永久添加的主机?
How to remove permanently added host from list of known hosts?
目前我正在从事一个由我的大学主持的项目。我们使用 git 作为版本控制工具,当我第一次连接到主机时,它显示以下消息:
"Warning: Permanently added '...' (RSA) to the list of known hosts."
这到底是什么意思?
作业完成后,如何将其从已知主机列表中删除?不做有什么问题吗?
这意味着 git 已经使用 SSH 为您登录到远程主机,而您之前从未连接到该服务器,因此它将服务器添加到您的已知主机列表中。如果服务器更改其身份(例如,您的连接被攻击者拦截),则 SSH 将拒绝连接到它。
尽管如此,您无需担心这一点,除非您多疑并期待有人试图窃取您的密码或您的工作。
如果某些内容已添加到 'list of known hosts',则在 git bash shell Windows 和 linux 下,一个条目将被添加到文件 known_hosts 中,该文件可以在主目录下的 .ssh 目录中找到。
这是一个文本文件,将显示已添加的任何 hostname/ip address/key 组合的条目。
所以
cat ~/.ssh/known_hosts
应该显示以下文件
您可能会看到类似以下内容
removelater.com,123.456.789.10 type-of-key charactersRepresentingTheKeyForRemoveLaterHost
keep.com,321.654.987.10 ssh-rsa differentSetOfCharactersRepresentingKeyForKeepHost==
上面的文件有两行。
使用您喜欢的编辑器(例如 vi ~/.ssh/known_hosts
或 notepad ~/.ssh/known_hosts
),只需删除引用您要删除的主机的完整行并保存文件。
尝试再次连接到您现在已删除的主机将再次导致
无法确定主机 'removelater.com (123.456.789.10)' 的真实性。
以下是我在 Mac 上用于从 known_host 文件中删除特定主机的快速重写:
grep -v <full.hostname> ~/.ssh/known_hosts > temp.txt
mv temp.txt ~/.ssh/known_hosts
这基本上重写了 known_hosts 文件中的所有内容,但包含指定主机名的行除外。
从 known_hosts 中仅删除一台主机的最简单方法是使用:
ssh-keygen -R hostname
例子
ssh-keygen -R 192.168.1.10
ssh-keygen -R abc.lan
ssh-keygen -R domain.com
目前我正在从事一个由我的大学主持的项目。我们使用 git 作为版本控制工具,当我第一次连接到主机时,它显示以下消息: "Warning: Permanently added '...' (RSA) to the list of known hosts."
这到底是什么意思?
作业完成后,如何将其从已知主机列表中删除?不做有什么问题吗?
这意味着 git 已经使用 SSH 为您登录到远程主机,而您之前从未连接到该服务器,因此它将服务器添加到您的已知主机列表中。如果服务器更改其身份(例如,您的连接被攻击者拦截),则 SSH 将拒绝连接到它。
尽管如此,您无需担心这一点,除非您多疑并期待有人试图窃取您的密码或您的工作。
如果某些内容已添加到 'list of known hosts',则在 git bash shell Windows 和 linux 下,一个条目将被添加到文件 known_hosts 中,该文件可以在主目录下的 .ssh 目录中找到。
这是一个文本文件,将显示已添加的任何 hostname/ip address/key 组合的条目。
所以
cat ~/.ssh/known_hosts
应该显示以下文件
您可能会看到类似以下内容
removelater.com,123.456.789.10 type-of-key charactersRepresentingTheKeyForRemoveLaterHost keep.com,321.654.987.10 ssh-rsa differentSetOfCharactersRepresentingKeyForKeepHost==
上面的文件有两行。
使用您喜欢的编辑器(例如 vi ~/.ssh/known_hosts
或 notepad ~/.ssh/known_hosts
),只需删除引用您要删除的主机的完整行并保存文件。
尝试再次连接到您现在已删除的主机将再次导致
无法确定主机 'removelater.com (123.456.789.10)' 的真实性。
以下是我在 Mac 上用于从 known_host 文件中删除特定主机的快速重写:
grep -v <full.hostname> ~/.ssh/known_hosts > temp.txt
mv temp.txt ~/.ssh/known_hosts
这基本上重写了 known_hosts 文件中的所有内容,但包含指定主机名的行除外。
从 known_hosts 中仅删除一台主机的最简单方法是使用:
ssh-keygen -R hostname
例子
ssh-keygen -R 192.168.1.10
ssh-keygen -R abc.lan
ssh-keygen -R domain.com