SSH アクセスを保護するにはどうすればよいですか?

SSH アクセスを保護するにはどうすればよいですか?

私は、飛び込み台へのはしごを登って飛び降りた後、泳ぎ方が分からないことに気づくタイプの人間です。

私はVPSを持っていますが、それをどう管理すればいいのか全く分かりません。まず最初にやるべきことの一つはセキュリティを確保することだと理解していますが、その方向への最初の具体的なステップは、今のところモシェンのコメント:

また、できるだけ早く SSH アクセスを保護する必要があります。デフォルトのポートを変更し、キーベースの認証を使用し、パスワード認証とルート ログインを無効にすることをお勧めします (基本的に、ログインするための標準ユーザー アカウントを作成します)。

今のところ、私が知っている方法は、VPS プロバイダーの Web インターフェイスを使用して、ルート アクセスでコンソールを開くことだけです。では、moshen のアドバイスに従うにはどうすればよいでしょうか?

答え1

SSH を安全にするには、次の手順を実行する必要があります。

1) sudo アクセスと公開キーを持つユーザーがあることを確認します。これを行うには、次の手順に従ってください。a
) 次のコマンドを発行してユーザーを作成します。

useradd sudo_user

b) このユーザーとしてログインし、公開/秘密キー セットを作成してから、authorized_keys を設定します。

su - sudo_user
ssh-keygen -t rsa
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys
exit

c) /home/sudo_user/.ssh/id_rsa から秘密鍵を取得し、これをサーバーにログインするために使用します。

cat /home/sudo_user/.ssh/id_rsa

d) ユーザーに sudo アクセスを設定します。

echo "sudo_user  ALL=(ALL)       NOPASSWD: ALL" >> /etc/sudoers

2) /etc/ssh/sshd_config 設定を編集し、次の変更を加えます。a
) 次の行が次のように設定されていることを確認して、ルート アクセスを無効にします。

PermitRootLogin no

b) 次の設定でパスワード認証を無効にします。

PasswordAuthentication no

そして

PubkeyAuthentication yes

c) ssh のポートを変更します。まず、新しいポートがファイアウォールで開いていることを確認します。

Port 12345

ただし、好きなように変更できます。d) 次のコマンドを発行して ssh をリロードします。

service sshd reload

または

service ssh reload

関連情報