所以SSH具有为特定用户配置设置的这些文件。
~/.ssh/authorized_keys
~/.ssh/config
~/.ssh/id_rsa
~/.ssh/id_rsa.pub
~/.ssh/known_hosts
我想全球化其中一些文件,例如config
和known_hosts
。以便其他用户(包括根)可以共享配置的主机。
最好的方法是什么?
答案1
您~/.ssh/config
可以根据以下内容在 /etc/ssh/ssh_config 中放置相关的系统范围设置手册页:
ssh(1) 按以下顺序从以下来源获取配置数据:
- 命令行选项
- 用户的配置文件(~/.ssh/config)
- 系统范围的配置文件(/etc/ssh/ssh_config)
对于每个参数,将使用第一个获得的值。配置文件包含由“主机”规范分隔的部分,并且该部分仅适用于与规范中给出的模式之一匹配的主机。
请注意,仅使用第一个值,这意味着用户始终可以在本地覆盖系统范围的配置选项。
您~/.ssh/known_hosts
可以使用/etc/ssh/ssh_known_hosts
GlobalKnownHostsFile 配置选项指定的另一个文件:
全局已知主机文件
指定用于全局主机密钥数据库的文件,而不是 /etc/ssh/ssh_known_hosts。
我不确定其他文件是否可行,但我想如果您可以使用符号链接来解决问题真的也想在用户之间共享私钥。
答案2
由于 root 的功能非常强大,因此我会使用 root cron 作业从其他用户复制文件。可以简单地附加已知主机和授权密钥。如果全部都在一个分区上,则可以使用硬链接选项。不确定符号链接是否适用于这些文件,但您也可以尝试一下,只需将它们放在共享且安全的位置即可。