ssh 使用 $HOME/.ssh/known_hosts 以外的 known_hosts [关闭]

Posted

技术标签:

【中文标题】ssh 使用 $HOME/.ssh/known_hosts 以外的 known_hosts [关闭]【英文标题】:ssh use known_hosts other than $HOME/.ssh/known_hosts [closed] 【发布时间】:2012-06-01 17:12:12 【问题描述】:

是否可以使用另一个known_hosts 文件而不是用户的标准$HOME/.ssh/known_hosts 运行SSH?

注意,SSH 为用户使用$HOME original。如果您尝试更改它,例如

export HOME=some_other_location

它不会影响 SSH 用于查找 known_hosts 的位置。

【问题讨论】:

是的。 ~/.ssh/known_hosts2 。我们将其符号链接到我们同步文件文件夹中的文件。任何新的服务器指纹都会添加到那里,每个人都可以立即访问。 【参考方案1】:

您可以在$HOME/.ssh/config/etc/ssh/ssh_config 中指定一个替代的known_hosts 文件,参数UserKnownHostsFile

或者,如果您更喜欢使用其他 known_hosts 文件进行特定的 SSH 调用,您可以使用 SSH 命令选项 -o UserKnownHostsFile=<alternative known_hosts file>,例如ssh -o UserKnownHostsFile=~/my_temporary_known_host ssh_host.

【讨论】:

感谢您的回答。我试图避免修改这些配置文件,但这似乎是不可能的。 ;-( S.R. 修改用户自己的$HOME/.ssh/config应该问题不大,但/etc/ssh/ssh_config可能。或者,您可以在 ssh 命令行上指定该参数,即 ssh -o UserKnownHostsFile=somewhere someone@ssh_host ssh -o 选项是此问题的正确答案。它也应该是一个答案,而不是评论。 按建议修改答案,为读者提供两种方法。 我已将此选项添加到我的Host * 全局部分的$HOME/.ssh/config 中,它适用于所有主机别名。

以上是关于ssh 使用 $HOME/.ssh/known_hosts 以外的 known_hosts [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

ssh使用详解

如何通过子进程模块调用 ssh 以便它使用 SSH_ASKPASS 变量

PyCharm SSH 隧道通过本地 ssh 配置 (~/.ssh/config)

使用git的ssh

如何使用ssh登陆windows服务器

使用wireshark分析ssh口令登录细节