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


15

そのため、SSHには特定のユーザーの設定を構成するこれらのファイルがあります。

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

configやなどのこれらのファイルの一部をグローバル化したいknown_hostsです。他のユーザー(rootを含む)が構成済みのホストを共有できるようにします。

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

回答:


21

以下のために~/.ssh/configあなたは、関連するシステム全体の設定を配置することができます/ etc / ssh / ssh_config内に応じmanページ

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の代わりにグローバルホストキーデータベースに使用するファイルを指定します。

他のファイルでも可能かどうかはわかりませが、プライベートキーをユーザー間で共有したい場合は、シンボリックリンクで何か解決できると思います。


1
GlobalKnownHostsFileの引用にタイプミスがあります。
cjm

1
UserKnownHostsFile = / dev / nullを設定すると、sshはユーザーknown_hostsファイル内で有効なキーを見つけられませんが、ユーザーは一時キーを1つ受け入れることができます。
ジャニング

1
@Janning、実際にはそのIgnoreUserKnownHostsオプション(値yesまたはno)があるように見えます。
カエル

グローバル/etc/ssh/ssh_known_hostsファイルは誰でも読み取り可能でなければならないことに注意してください。ssh-keygen -Hf /etc/ssh/ssh_known_hosts手動でエントリを追加した後、私のハッシュを再ハッシュするために使用していましたが、所有者のみに設定されていたようです。
-kael

1

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


2
これにより、ユーザーが自分のホストを追加できなくなりますが、これは意図しない効果です。
マチェイピエチョトカ

ハードリンクファイルが同じパーマを持っている必要があるかどうかは忘れますが、持っていると思います。ただし、cronを使用してファイルをコピーし、パーマが正しいことを確認できます。
xenoterracide
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.