私のLinuxとFreeBSDシステムのいくつかは何十人ものユーザーを持っています。ワーカーはこれらの「sshゲートウェイ」ノードを使用して、SSHを介して他の内部サーバーにアクセスします。
それらの一部が暗号化されていないSSH秘密鍵(鍵なしの鍵)を使用していることが懸念されます。パスワード。これは良くないクラッカーがこのコンピュータから自分のアカウントにアクセスできる場合は、秘密鍵を盗み、同じキーを使用してすべてのコンピュータにアクセスできるためです。セキュリティ上の理由から、すべてのユーザーはSSH秘密鍵をパスワードで暗号化する必要があります。
秘密鍵が暗号化されていない(パスワードが含まれていない)かどうかはどうすればわかりますか? ASCII以外のArmoredキーと比較して、ASCII Armoredキーでこれを行う他の方法はありますか?
修正する:
これを明確にするために、私はコンピュータにスーパーユーザーアクセスを持っており、誰もが秘密鍵を読むことができるとしましょう。
ベストアンサー1
パスワードが空のOpenSSH秘密鍵は実際には暗号化されません。
暗号化秘密鍵は秘密鍵ファイルで宣言されています。たとえば、
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,7BD2F97F977F71FC
BT8CqbQa7nUrtrmMfK2okQLtspAsZJu0ql5LFMnLdTvTj5Sgow7rlGmee5wVuqCI
/clilpIuXtVDH4picQlMcR+pV5Qjkx7BztMscx4RCmcvuWhGeANYgPnav97Tn/zp
...
-----END RSA PRIVATE KEY-----
そのように
# grep -L ENCRYPTED /home/*/.ssh/id_[rd]sa
これで問題が解決します。