私の友人は以前この設定を持っていましたが、再インストールすると失われました。
基本的に何が起こるのかまっすぐ自分のサーバーにrootとしてSSHを接続すると、そのIPがブロックされます。root権限を取得するには、カスタムユーザー名でログインして「sudo」を使用する必要があります。
残念ながら、この質問の一般的なキーワードを検索すると、ルートログインを無効にする方法だけがわかりましたが、これはまさに私が望むものではありません。
私のサーバーは最新のDebianバージョンで実行されています。
答え1
SSHdはIPアドレスを禁止しません。認証失敗が発生するたびにログにエントリを追加し、実行を続行します。ただし、他のソフトウェアは事後にこれらのログを読み、規則に従ってIPを禁止することがあります。これらの操作に使用される最も一般的なデーモンはFail2banです。
Fail2banは刑務所で働いています。各刑務所はサービス、ログファイルに関連付けられており、特定のルールセットに従います。 IPが刑務所規則の範囲に入るたびに、一定期間、即座にブラックリストに追加されます(刑務所規則にも指定されています)。以下は、SSHサービスのFail2ban刑務所の例です(/etc/fail2ban/jail.conf
私の場合は設定されています)。
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
このルールのおかげで、どのIPでも10分以内に3回以上ログインに失敗した場合、failure2banデーモンはそのIPをiptablesチェーンに追加します。、そのIPから着信するすべてのネットワークパケットが破棄されます。
今、次の刑務所を考えてみると…。
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 1
findtime = 60
bantime = -1
... この場合、認証に失敗したすべてのIPは永久に禁止されます。ご利用時に参考にしてくださいカスタムフィルタ、ルートログインのみを対象とすることが完全に可能です。また、ルートログインはデフォルトで無効になっていることも覚えておいてください。誰もrootアカウントに直接リンクしてはいけません。ユーザー名でログインし、sudo
必要に応じて使用する方がはるかに安全です。これを行うには、侵入者がユーザー名とパスワードを見つける必要があり、rootユーザー名はすでによく知られています。
答え2
「/etc/ssh/sshd_config」設定の問題のようです。次の行を次に変更します。
PermitRootLogin no
到着
PermitRootLogin yes
SSHサービスを再起動します。