旅行中にホテルからSSHを使用してサーバーに接続することは本当に安全ですか?
サーバー:
-CentOS 7
-RSAキーのみによる認証-パスワード認証が拒否されました
-非標準ポート
ワークステーション:
-Ubuntu 14
- ユーザーパスワード
-RSAキーを使用するためのパスワード(標準的な方法)
多分それはUSBスティックにプライベートRSAキーのhalfを保持し、接続前に自動的に(スクリプトによって)〜/ .ssh/private_keyにこの半分を追加するのは良い考えでしょうか?
インターネットは、ホテルのWIFI、または賃貸アパートのケーブルを介して行われます。
[〜#〜]更新[〜#〜]
最初は不明確だったため申し訳ありません。ここでは、セキュリティの2つの側面を意味します。
したがって、明示的に信頼されていない接続を介してssh接続を行うことに関して。
以前の接続からの〜/ .ssh/known_hostsエントリがすでにあると仮定すると、はい、ネットワークが安全かどうかを気にすることなく接続できます。 sshホストキーを検証する他の方法がある場合も同様です。
これまでにサーバーに接続したことがなく、sshホストキーを検証する他の方法もない場合は、接続に使用するネットワークについてさらに注意する必要があります。
質問の2番目の部分では、ノートブックの盗難と、サーバーへのパスワードなしのSSHログイン用の秘密鍵が心配されているようです。
これは、「パスフレーズ」で「暗号化」された秘密鍵を格納することで簡単に解決できる(秘密鍵の問題)ことに注意してください。 ssh-keygen ユーティリティで生成するときに、最初に暗号化できます。生成プロセスの最後にパスフレーズを提供するか、既に暗号化されていない場合は、_ ssh-keygen ユーティリティと-p
オプションを使用します。キーが暗号化されると、ログインするたびに関連するパスフレーズを入力するように求められます。正しい場合は、すべてが正常に続行されます。
また、sshクライアントを起動するたびにパスフレーズを入力したくない場合は、 ssh-agent を使用できます。これにより、暗号化されていない秘密鍵をメモリ内で追跡できます。単純に ssh-add を実行して、暗号化されたキーを保持するファイルを指定し、パスフレーズを要求した後、ssh-agentが管理するセットにキーを追加します。その後、SSHクライアントがパスフレーズで保護された鍵を要求するたびに、ssh-agentは関連する暗号化されていない秘密鍵をsshクライアントに透過的に提供します。だから、あなたのために、それをインタラクティブに入力する必要はありません。
Ssh-agentは多くのキーを管理できることに注意してください。ログイン/起動時に、ノートブック/デスクトップを「調整」してssh-add
ユーティリティ(ssh-agentセットのキーを入力する)を起動できることに注意してください。
また、誰かがあなたのラップトップを盗んだ場合、あなたの秘密鍵はおそらくあなたが配布しようとしている唯一の「機密」コンテンツではありません:今日のLinuxデスクトップディストリビューションではであることに注意してください[〜#〜]非常に[〜#〜]「暗号化された」ファイルシステムに依存するノートブックを簡単にセットアップできます(最初に/home
が必要ですが、全体が/
)。したがって、これも考慮してください。
上記のすべては、明らかに[〜#〜] [〜#〜]に当てはまらない場合当てはまらない場合YOUR OWNノートブックに。
PS:暗号化されていない秘密鍵の2つの半分を異なる媒体に保存する可能性については、私stronglyがアドバイスnotこれを行うには、2つの機密コンテンツを暗号化されていない形式で保持することは、コンテンツ全体の2つの完全なコピーを暗号化して保持するよりもはるかに悪いためです!
質問の最初の部分は、以前の回答ですでに回答されています。 2番目のパートに従って、pam_google_authenticatorを使用してsshログインに2番目の要素を追加することをお勧めします。ディストリビューションでのセットアップと構成はかなり簡単です。持ち歩いている秘密鍵が盗まれた場合、google-authenticatorからのTOTPワンタイムパスワードなしではサーバーにログインできません。
https://www.howtoforge.com/tutorial/secure-ssh-with-google-authenticator-on-centos-7