使 ssh 主机对计算机上的所有用户都是全局的

Ste*_*fan 21 configuration openssh

所以SSH有这些文件可以为特定用户配置设置。

~/.ssh/authorized_keys
~/.ssh/config
~/.ssh/id_rsa
~/.ssh/id_rsa.pub
~/.ssh/known_hosts
Run Code Online (Sandbox Code Playgroud)

我想将其中一些文件全球化,例如configknown_hosts。以便其他用户(包括root)可以共享配置的主机。

什么是最好的方法来做到这一点?

Ste*_*n D 28

因为~/.ssh/config您可以根据手册页在 /etc/ssh/ssh_config 中放置相关的系统范围设置:

ssh(1) 按以下顺序从以下来源获取配置数据:

  1. 命令行选项
  2. 用户的配置文件 (~/.ssh/config)
  3. 系统范围的配置文件 (/etc/ssh/ssh_config)

对于每个参数,将使用第一个获得的值。配置文件包含由“主机”规范分隔的部分,该部分仅适用于与规范中给出的模式之一匹配的主机。

请注意,将仅使用第一个值,这意味着用户始终可以在本地覆盖系统范围的配置选项。

对于~/.ssh/known_hosts您可以使用/etc/ssh/ssh_known_hosts或由 GlobalKnownHostsFile 配置选项指定的另一个文件:

全局已知主机文件

指定用于全局主机密钥数据库的文件,而不是 /etc/ssh/ssh_known_hosts。

我不确定其他文件是否可行,但我想如果您真的想在用户之间共享私钥,您可以使用符号链接来解决问题。