私のCentos 7.5サーバーは過去数日間に何千ものSSHログインを試み、今日は「セキュリティの失敗が多すぎます」というメッセージが表示され、VNCクライアントにログインできませんでした。その場合は、この問題を解決する方法があるかどうかを尋ねたいと思います。トンネリングがこの問題を解決できることを読んでいますが、面倒なので使用したくありません。
答え1
SSH
直接ルートアクセスを無効にします。
cat /etc/ssh/sshd_config | grep PermitRootLogin
次のように設定する必要があります。
PermitRootLogin no
SSHプロトコルバージョン2を適用するには:
cat /etc/ssh/sshd_config | grep Protocol
次のように設定する必要があります。
Protocol 2
ポートを56789などの任意のポートに変更します。
cat /etc/ssh/sshd_config | grep Port
次のように設定する必要があります。
Port 56789
ファイアウォールに穴を開けます。
sudo iptables -A INPUT -p tcp -m tcp --dport 56789 -m comment --comment "SSH custom port" -j ACCEPT
新しい公開/秘密鍵ペアを生成します。
ssh-keygen -t rsa -b 4096
このキーを追加して他のキーがないことを確認してください。
eval $(ssh-agent -s) ssh-add ssh-add -l
結果は次のとおりです。
4096 SHA256:gibberish /home/fictional_user/.ssh/id_rsa (RSA) 4096 SHA256:gibberish fictional_user@fictional_computer (RSA)
サーバーを維持するクライアントコンピュータに公開鍵をインポートします。
ssh-copy-id fictional_user@public_ip -p 56789
その後、パスワードの確認を完全に無効にします。
cat /etc/ssh/sshd_config | grep PasswordAuthentication
次のように設定する必要があります。
PasswordAuthentication no
仮想ネットワークコントローラ
特定のIPアドレス範囲のみを許可する必要があります。たとえば、次のデフォルトのローカルネットワークに対してのみ許可する必要がありますiptables
。
sudo iptables -A INPUT -p tcp -m tcp --dport 5900 -m comment --comment "VNC on desktop: local network only" -m iprange --src-range 192.168.0.1-192.168.0.254 -j ACCEPT