如何清除 SSH known_hosts 和 authorized_keys 文件中的重复条目?

Nam*_* VU 8 ssh openssh

我的谷歌搜索结果没什么帮助,所以我在这里问。

我的 Ubuntu 服务器现在在两个文件~/.ssh/authorzied_keys~/.ssh/known_hosts

我想知道是否有一个命令/实用程序可以删除那些重复的行并只列出一次?

Jak*_*uje 10

命令行实用程序称为uniqsort。您可以简单地通过它们管道文件以获取唯一的条目:

sort ~/.ssh/authorized_keys | uniq > ~/.ssh/authorized_keys.uniq
Run Code Online (Sandbox Code Playgroud)

然后用新文件替换旧文件:

mv ~/.ssh/authorized_keys{.uniq,}
Run Code Online (Sandbox Code Playgroud)

~/.ssh/known_hosts被处理ssh本身,不应包含任何重复(如果你手工修改了它,它可以和那么你就可以使用相同的方法同上)。


小智 5

ssh-keygen -R hostname将删除指定主机名的条目