あなたの netstat
出力は、ポート 22
をリッスンしているプロセスがないことを示しています 、そしてそれはなぜあなたが Connection refused
を得るかを説明するでしょう SSH を試みるとき。
あなたの status
sshd
に関する情報 デーモンは実行中であることを示していますが、リスニング ポートが関連付けられていません (または関連付けられていないようです)。
さらに、コメントで言われたように、あなたの sshd_config
ファイルが間違っているようです。 root ログインを無効にしたいというので、SSH デーモンの構成を提案します。
/etc/ssh/sshd_config
を編集します ファイルに次の内容を入れてください:
Port 22
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
UsePrivilegeSeparation yes
KeyRegenerationInterval 3600
ServerKeyBits 1024
SyslogFacility AUTH
LogLevel INFO
LoginGraceTime 120
PermitRootLogin no
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes
IgnoreRhosts yes
RhostsRSAAuthentication no
HostbasedAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
UsePAM yes
ClientAliveInterval 30
ClientAliveCountMax 99999
セキュリティが心配な場合は、必要なユーザーのみに SSH を制限できます。たとえば、そのユーザーのみを制限したい場合 vignesh
SSH できる場合は、次のような別のディレクティブを追加できます:
AllowUsers vignesh
その後、 sshd
を再起動するだけです サービス。完了したら、 netstat -atpn | grep 22
を実行すると ポート 22
が表示されるはずです みんなの話を聞いています。
この行を実際に追加したのか、コメントを外したのかわかりません:Port 22
sshd_config でポートが指定されていない場合、sshd はどのポートでもリッスンしません。 netstat からの出力を考えると、これが問題である可能性があります。
まず、root アカウントにパスワードが設定されていることを確認してください root にパスワードがない場合は sudo passwd root
できます 次に、root の新しいパスワードを入力します。
-v
で SSH 接続できます。 詳細出力のオプション:
ssh [email protected] -v
それでも接続が拒否される場合は、ssh [email protected] -v
の出力を投稿してください コマンド。