ゲートウェイサーバー()にSSHキーペアを使用してアクセス[email protected]
できるSSHアカウントがあります。このアカウントにアクセスする必要がある多くのシステム管理者がいます。彼らはそれぞれ独自のSSHアカウントを持っています。ts_key.pub/ts_key.priv
gateway.org
gateway.org
[email protected]
ts_key.pub/ts_key.priv
引き続き使用gateway.org
し、システム管理者が使用できるようにする方法はありますか?露出しないでくださいシステム管理者に?したがって、そのうちの1人が会社を去り、彼のアカウントがgateway.org
閉鎖されると、ts_key.pub/ts_key.priv
そのアカウントを使用できなくなります。
更新:誰かが私(IRC / # OpenSSHの良い人)にパスワードで秘密鍵を暗号化し、ssh-agent / ssh-addを使用するように提案しました。しかし、具体的な内容はよくわかりません...
答え1
あるいは、authorized_keysファイルにキープレフィックスを追加することもできます。[Eメール保護]"from = ip.address.of.gateway.org"を使用すると、接続がゲートウェイシステムから着信している場合にのみキーが効果的に機能します。
詳細については、「man sshd」を参照してください。
gateway.org
もう1つの可能性は、ログインが無効になっている別のアカウントに秘密鍵を入れることです。このアカウントをsecretkeeper
例にしてみましょう。その後、システム管理者にアカウントへの制限された sudo アクセス権を付与できます (sudoers
ファイル構文)。
User_Alias ADMINUSERS=sysadmin1, sysadmin2, sysadmin3 #...etc.
ADMINUSERS ALL=(secretkeeper) /usr/bin/ssh secretremote
使いやすくするために、できるだけ多くの~secretkeeper/.ssh/config
接続パラメータを指定してください。
Host secretremote
User topsecret
HostName remote.org
EscapeChar none
IdentityFile /some/where/ts_key.priv
これで、あなたsysadmin1
と他の人は実行できますが、他のコマンドを介してsudo -u secretkeeper ssh secretremote
実行することはできませんsudo
(sudoers
他に定義されていない限り)。キーワードにすぎず、ファイル内で同じでsecretremote
あれば何でも構いません。sudoers
~secretkeeper/.ssh/config
ファイルに指定されたコマンドにはsudoers
パラメーターが含まれているため、特定のコマンドのみが許可されます。sudo
そのコマンド(およびそのコマンドのみ)は、SSHsecretkeeper
構成ファイルと秘密鍵を読み取ることができるユーザーとして実行され、接続を確立できます。sudo
セッションはそのコマンドのみを実行するため、SSHssh
接続が失われるとsudo
セッションは終了します。secretkeeper
対話型シェルはユーザーとして実行されません。
もちろん、これを行うには、システム管理者にgateway.org
システムへのrootアクセス権を持ってはいけません。