apt-get
サーバーで常に手動で実行している場合(apt-get
cronによって起動される自動コマンドはありません)、sshエージェントフォワーディングの使用を検討してください。これにより、管理するサーバーごとに1つの公開/秘密キーペアを管理する必要がなくなり、すべてのサーバーに秘密キーを残しておくよりも安全です。
初期構成
-管理するサーバーに接続し、次のようなものを追加/etc/apt/sources.list
します(この例では、サーバーをmanager
アカウントに接続することを想定しています):
deb ssh://manager@my.repository.org/path other stuff
johndoe
たとえば、ログインを使用して、自分のコンピューターに秘密鍵と公開鍵のペアを作成します(コンピューターがdebianで実行されている場合、そうでない場合は、管理専用のdebianサーバーからこれを実行できます)。
ssh-keygen
- 強力なキーフレーズで保護されていることを確認してください
公開鍵をリポジトリサーバーにコピーします/home/manager/.ssh/authorized_keys
。
ssh-copy-id manager@my.repository.org
管理セッションごとに1回
サーバーの管理
を使用して管理するサーバーに接続しますssh -A
(-A
エージェント転送をアクティブにします):
ssh -A some.server.org
rootに切り替えます(使用sudo
する場合は構成する必要があります。/etc/sudoers
そうしないsudo
と、エージェント転送が中断されます。これをお読みください):
su
これで、エージェント転送により、sshを使用してリポジトリのマネージャーアカウントに接続できます。パスワードを再度入力する必要はありません。したがって、apt-get
うまく機能するはずです:
apt-get udate
管理セッションを終了する
メリット
- 初期構成はそれほど必要ありません
- 必要な秘密鍵は1つだけです
- 秘密鍵は強力なパスフレーズで保護されています
- 誰かがサーバーの1つにrootアクセス権を取得しても、リポジトリサーバーにすぐにアクセスすることはできません。
- ハッカーが忍耐強く、資格がある場合、エージェント転送を使用してサーバーに接続するまで待機でき、フォワーディングメカニズムをハイジャックしてリポジトリサーバーにアクセスできることに注意してください。
- それを防ぐのを助けるために、あなたは
ssh-ask
あなたの鍵を使うすべての試みを受け入れ/拒否するために使うことができます。
- いずれの場合でも、ハッカーは秘密鍵自体にアクセスできなくなります。キーを使用するために転送メカニズムをハイジャックできるのは、サーバーに接続している間だけです。