複数のコンピューターで同じ秘密sshキーを使用するのは悪い考えですか?


35

私は最近、デスクトップからアクセスするのと同じリモートホストにアクセスする必要があるラップトップを購入しました。秘密鍵ファイルをデスクトップからラップトップに単純にコピーし、~/.ssh/authorized_keysアクセスしたいすべてのホスト上のファイルに新しい鍵を追加する必要がなくなる可能性があることに気付きました。だから私の質問は:

  1. これも可能ですか?
  2. 明白でないセキュリティへの影響はありますか?
  3. 時々、ラップトップからデスクトップにログインします。同じキーを使用している場合、問題が発生しますか?

2
私はあなたがknown_hostsではなくauthorized_keysを意味していると疑います。前者は着信用、後者は発信用です。
マシューシンケル09

良いキャッチ。一定。
ジェイソンクレイトン

回答:


29

はい、これは可能です。秘密鍵は単一のマシンに関連付けられていません。

あなたが非自明で何を意味するのかわからない、それはしばしば主観的です;)。少なくとも20文字の非常に強力なパスフレーズセットがあることを確認すれば、まったく悪い考えではありません。

デスクトップと同じキーで接続しても問題はありません。ラップトップのキーにsshエージェントをセットアップし、エージェントをデスクトップに転送するので、そこからアクセスする他のシステムでそのキーを使用します。

Linuxシステムのssh-agentのマニュアルページから:

ssh-agentは、公開鍵認証(RSA、DSA)に使用される秘密鍵を保持するプログラムです。アイデアは、ssh-agentはXセッションまたはログインセッションの開始時に開始され、他のすべてのウィンドウまたはプログラムはssh-agentプログラムへのクライアントとして開始されるということです。環境変数を使用すると、ssh(1)を使用して他のマシンにログインするときに、エージェントを見つけて認証に自動的に使用できます。

Linux / Unixのssh-agentプログラム(OpenSSHに付属)、またはWindowsを使用している場合はpuTTYエージェントを使用して、これをラップトップで実行します。リモートシステムでエージェントを実行する必要はありません。ローカルシステムのメモリにプライベートキーを保持するため、パスフレーズを1回入力するだけで、エージェントにキーをロードできます。

エージェント転送はssh、ssh接続を介して他のシステムにエージェントを単に保持するsshクライアント(またはパテ)の機能です。


1
sshエージェントの転送に関してあなたが提案していることはよくわかりません。その点について少し詳しく説明していただけますか?ラップトップを使用する必要があるときに、デスクトップが常にアクセス可能であることを期待することはできません。
ジェイソンクレイトン

回答を更新しました:)
jtimberman 2009

10

以前は、すべてのマシンで単一の秘密鍵を使用していました(一部のマシンでは管理者ではなくユーザーのみです)が、最近これを変更しました。1つのキーで機能しますが、キーを無効にする必要がある場合(侵害された場合)、すべてのマシンで変更する必要があります。

もちろん、攻撃者がアクセスして別のマシンにsshできる場合、攻撃者はそのマシンからキーを取得できます。しかし、キーを1つだけ取り消して、そのマシンをロックアウトできることを知ったほうが、少し安心できます。ただし、authorized_keysファイルからキーを削除する必要があるということです。


古い投稿を壊してすみませんが、パスワードで秘密鍵を暗号化することでこれが緩和されると思いますか?または、あなたの場合、パスワードも侵害されましたか?
サードパーティー14年

1
キーにパスフレーズを付けることで、おそらく軽減されます。実際には、おそらく(エージェントを使用して)ssh転送を使用し、使用する実際のマシンごとに1つのキーのみを持ち、実際にパスワードで保護することができます。
マシューシンケル14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.