CentOSでssh接続が拒否される場合の対処法
CentOSでSSHが接続拒否される場合の対処法:
- SSHサービスがインストールされているか、実行されているか確認してください。次のコマンドを使用してSSHサービスの状態を確認してください。
- systemctl status sshd
- SSHサービスが起動していない場合は、以下のコマンドでSSHサービスを起動することができます。
- systemctl start sshd
- SSHサーバの設定ファイルをチェックします。設定ファイルは「/etc/ssh/sshd_config」にあります。以下の設定が適切になっていることを確認します。
- Portオプションが、(デフォルトの22番ポートなど)適切なSSHポートに設定されていることを確認してください。
- PermitRootLoginをyesに設定し、rootユーザーのログインを許可する(必要に応じてのみ変更する)
- パスワードでの認証を許可するためには、PasswordAuthentication オプションを yes に設定してください(必要な場合のみ変更してください)。
- ファイアウォールをご利用の場合は、SSHポートが開いていることを確認してください。ファイアウォールルールは次のコマンドで確認できます。firewall-cmd –list-all
SSHポートが開いていない場合は、次のコマンドでSSHポートを開いてください。
firewall-cmd –zone=public –add-port=22/tcp –permanent
firewall-cmd –reload - NATルーターのネットワークの背後にサーバーがある場合は、ルーターのポートをサーバーの内部IPアドレスとポートに転送してください。ポート転送を行う方法については、ルーターのマニュアルを参照してください。
- SSHにまだアクセスできない場合、SELinuxやAppArmorなどのサーバのセキュリティポリシーを確認してください。これらのセキュリティポリシーによりSSHアクセスが制限されているかもしれません。セキュリティポリシーを一時的に無効にして、原因になっているかどうかを確認できます。
- SELinuxを一時的に無効にするには、このコマンドを使用します。setenforce 0
- AppArmorを一時的に無効にするには、次のコマンドを使用します: systemctl stop apparmor
- もしまだSSHにアクセスできない場合は、ネットワーク接続が正常か、ファイアウォールやルーターなどのネットワーク機器がSSHアクセスを遮断していないかなどのネットワークの設定を確認してください。
上記の手順を試しても問題が解決しない場合はシステムログファイル(通常/var/logディレクトリにあります)を確認することをお勧めします。さらに詳細なエラー情報が得られ、問題のトラブルシューティングに役立つ可能性があります。