ルートユーザーと一般ユーザーに同じSSH構成をどのように使用できますか?

ルートユーザーと一般ユーザーに同じSSH構成をどのように使用できますか?

これは特別な場合です。既存の問題

SSH設定があります~/.ssh/config。ホスト固有の設定が多いため、ネットワークに新しいシステムをインストールするたびに更新します。 rootユーザーに対して同じ設定をしたいが、まだそれを設定する良い方法が見つかりませんでした。

一つの可能​​性/root/.ssh/config~/.ssh/config。ただし、SSHソフトウェアは次のことを防ぎます。

$ sudo cat /root/.ssh/config
Include /home/joe/.ssh/config
$ sudo ssh myhost.local
Bad owner or permissions on /home/joe/.ssh/config

また、ハードリンクやシンボリックリンクを作成することも禁止されています。

$ sudo ln -f ~joe/.ssh/config /root/.ssh/config
$ sudo ssh myhost.local
Bad owner or permissions on /root/.ssh/config

だから私はコピーを作ることにしました。

$ sudo rm /root/.ssh/config
$ sudo cp ~joe/.ssh/config /root/.ssh/config
$ sudo ssh myhost.local
Warning: Permanently added 'myhost.local' (ECDSA) to the list of known hosts.
...

ただし、構成を更新したときにこれを実行するのを忘れ、バックアップスクリプトがrsync / sshをrootとして実行していたため、バックアップが中断され始めました。

私のSSH設定をrootと共有するより良い方法はありますか?

答え1

これらの設定を使用できます/etc/ssh/config。ルートとユーザー(およびシステムの他のすべてのユーザー)が読み取るシステム全体のSSHクライアント構成ファイル。

~/.ssh/configが優先されることに注意してください/etc/ssh/config。したがって、~root/.ssh/configrootとユーザーが共有する共通設定を削除する必要があります~/.ssh/config

答え2

システム全体のSSH構成パスは次のとおりです。/etc/ssh/ssh_config Ubuntuの場合。私には効果がありました。

関連情報