SSHキーを生成したいのですが、rootとユーザーでキーを生成する際に違いがあるかどうかを知りたいです。ユーザーとして次のようにします。
ssh-keygen -t rsa -C "[email protected]"
/home/user/.ssh/
sudo su
以前と同じユーザーを使用してSSHキーを生成すると、vsに保存されるため、キーは次の場所に保存されます。/root/.ssh
SSHキーを生成する正しい方法は何ですか?ルートで?またはユーザーとして?ありがとう
答え1
結果のキーが保存される場所(およびファイルの所有権とキーの説明)以外に違いはありません。
スーパーユーザー権限が厳密に要求されない操作を実行するためにルートアカウントを使用することは避ける必要があるため、ルート用のSSHキーを生成する必要はほとんどありません。
通常:キーを使用するユーザーとしてキーを生成します。
また、に関してはsudo su
」sudo suを実行する理由はありますか?」
答え2
NSAの5つのセキュリティガイダンスによると、(学習上の理由からすべてが含まれます):
- 可能であれば、送信されたデータを暗号化してください。。
- 脆弱性を最小限に抑えるためにソフトウェアを最小化。
- さまざまなシステムでさまざまなネットワークサービスを実行する。
- システムの堅牢性を向上させるためのセキュリティツールの設定。
- 最小権限原則の使用。
太字のフォントは元の投稿に適用されます。
SSHキーを生成するとき、一対の
- .pub で終わる公開鍵です。公開鍵はサーバーにあります。
- 秘密鍵は秘密であるため、それを暗号化するかどうかは、秘密鍵が破損、紛失、または盗まれた場合に発生する可能性がある被害の規模によって異なります。
誰が鍵を生成したのか、秘密鍵がどこにあるのかは関係ありません。 privateKey を取得すると、対応する publicKey がサーバー側の authorized_keys ファイルに含まれます。ルートとして、通常のユーザーprivateKeyを介して認証を試みます。
~# ssh root@server -o PreferredAuthentications=publickey -i /home/user/.ssh/server_key
また、常にSSHキーを使用し、設定ファイルでパスワード認証を無効にする必要があることにも言及する価値があります/etc/ssh/sshd_config
。
~$ sudo cat /etc/ssh/sshd_config | grep PasswordAuthentication
#PasswordAuthentication yes
PasswordAuthentication no
&
$ sudo cat /etc/ssh/sshd_config | grep Pub
PubkeyAuthentication yes