web-dev-qa-db-ja.com

コンピューター上のすべてのユーザーに対してsshホストをグローバルにする

したがって、[〜#〜] ssh [〜#〜]には、特定のユーザーの設定を構成するこれらのファイルがあります。

~/.ssh/authorized_keys
~/.ssh/config
~/.ssh/id_rsa
~/.ssh/id_rsa.pub
~/.ssh/known_hosts

configknown_hostsなど、これらのファイルの一部をグローバル化したいと思います。他のユーザー(rootを含む)が設定されたホストを共有できるようにします。

これを行う最善の方法は何でしょうか?

15
Stefan

ために ~/.ssh/configmanページ に従って、関連するシステム全体の設定を/ etc/ssh/ssh_configに配置できます。

ssh(1)は、次のソースから次の順序で構成データを取得します。

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

パラメータごとに、最初に取得された値が使用されます。構成ファイルには、「ホスト」仕様で区切られたセクションが含まれており、そのセクションは、仕様で指定されたパターンのいずれかに一致するホストにのみ適用されます。

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

ために ~/.ssh/known_hostsを使用できます/etc/ssh/ssh_known_hostsまたはGlobalKnownHostsFile構成オプションで指定された別のファイル:

GlobalKnownHostsFile

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

他のファイルで可能かどうかはわかりませんが、本当にで秘密鍵を共有したい場合は、シンボリックリンクで何かをできると思います同様にユーザー。

21
Steven D

Rootはすべて強力なので、rootのcronジョブを使用して、他のユーザーからファイルをコピーします。既知のホストと認証済みのキーを簡単に追加できます。すべてが1つのパーティション上にある場合は、ハードリンクオプションがあります。ファイルに対してシンボリックリンクが機能するかどうかはわかりませんが、それを試すこともできます。共有しているが安全な場所に配置するだけです。

1
xenoterracide