SSHキーのパスワードを変更する方法

SSHキーのパスワードを変更する方法

SSHキーのパスワードを変更しようとすると、次のエラーメッセージが表示されます。

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/Users/username/.ssh/id_rsa' are too open. 
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.

どういう意味ですか?この問題をどのように解決できますか?

編集する:これは私の問題を解決しました。

sudo chmod 600 ~/.ssh/id_rsa

ベストアンサー1

fftccの回答は、権限がSSH要件に準拠する方法についての詳細なガイドラインを提供しますが、知っておくと便利です。なぜ?これらの要件が存在します。

秘密鍵と公開鍵のペアを次のように考えることができます。秘密そしてテスト

秘密は秘密鍵です。ただ本人だけが知っています。ドアの鍵と同じです。南京錠にぴったりです。ロックするテストこれ秘密:公開鍵で秘密鍵を確認できます。 (実際の暗号化方式はもっと面白いです。公開鍵は秘密鍵を知らずにテストできますが、ドアロックはできません。)

ドアロックは公開されています。誰もがそれを見ることができ、鍵を入れることができますが(私を信じてください。はい)、正しい南京錠のみが許可されます。

人々が秘密鍵(またはドアキー)をコピーすることを許可すると、彼らはあなたのサーバー(またはあなたの家)に入ることができます。したがって、誰も秘密鍵を読み取ることができません。

他の回答で説明したように、シークレットの上のすべてのディレクトリに対する書き込み権限を使用すると、シークレットに到達するまでユーザーは繰り返し権限を取得できます。これが、sshがその要件よりも高いユーザーホームディレクトリの問題を提起する理由です。最初は奇妙に見えるかもしれません。フラッシュ。ところで、sshがユーザーのホームディレクトリの上のディレクトリも公に書き込み禁止であると仮定または確認するかどうかはわかりません。もちろん、これは一般的な設定ですが、必ずしも指定されているわけではありません。

これらの原則に応じて、さまざまなファイルに必要な権限が最も適しています。特に、サーバー側で特定のファイル(Authorized_keysなど)を想定しているために発生する特定の複雑さがあります。必要sshdが読めるようにするサードパーティの読み取りアクセス。ただし、sshdはrootとして実行されます。結局のところ、sshdは特権アドレスでソケットを開き、ファイル権限に関係なく、必要なものをすべて読み取ることができます。

ところで、これはあなたのローカルシステム管理者インターンがあなたのビットコイン財布であるchmod 600 my buttにアクセスするために使用するキーを読むことができることを意味します。したがって、あなたの秘密鍵を暗号化することができますが、これは最初は重複しているように見えますが、あなたが私たちの管理者に会ったことがあれば完全に理解されます。問題は実際に秘密鍵の暗号化に関連しています。権限の問題は純粋に付随的です。

おすすめ記事