SSHホストをコンピュータのすべてのユーザーにグローバルに設定する

SSHホストをコンピュータのすべてのユーザーにグローバルに設定する

だから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) は、次のソースから次の順序で構成データを取得します。

  1. コマンドラインオプション
  2. ユーザー設定ファイル(~/.ssh/config)
  3. システム全体の構成ファイル(/etc/ssh/ssh_config)

各パラメータに対して最初に取得された値が使用されます。構成ファイルには、「ホスト」仕様で区切られたセクションが含まれています。このセクションは、仕様で提供されているパターンの1つと一致するホストにのみ適用されます。

最初の値のみが使用されます。つまり、ユーザーは常にシステム全体の構成オプションをローカルにオーバーライドできます。

GlobalKnownHostsFile設定オプションを使用して他のファイルを指定~/.ssh/known_hostsできます。/etc/ssh/ssh_known_hosts

グローバルな既知のホストファイル

/etc/ssh/ssh_known_hostsの代わりにグローバルホストキーデータベースに使用されるファイルを指定します。

他のファイルでもこれが可能かどうかはわかりませんが、問題を解決できるシンボリックリンクを使用できるようです。本物また、ユーザー間で秘密鍵を共有したいと思います。

答え2

ルートは非常に強力なので、ルートクローン操作を使用して他のユーザーのファイルをコピーします。既知のホストと認証キーを簡単に追加できます。すべてが1つのパーティションにある場合は、ハードリンクオプションを使用できます。シンボリックリンクがこれらのファイルと連携しているかどうかはわかりませんが、試してみて安全な共有場所に配置することをお勧めします。

関連情報