これは特別な場合です。既存の問題。
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/config
rootとユーザーが共有する共通設定を削除する必要があります~/.ssh/config
。
答え2
システム全体のSSH構成パスは次のとおりです。/etc/ssh/ssh_config
Ubuntuの場合。私には効果がありました。