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_ASKPASS 变量