我可以访问 Ubuntu 服务器 (10.4),但无法通过 SSH 进入。从终端连接超时,从 putty 连接被拒绝。
我已检查 sshd 是否正在运行并在所有接口上监听,iptables 的所有链均为空且默认为 ACCEPT,附加防火墙正在接受端口 22 入站和所有出站。我也无法通过 telnet 进入端口 22。
可能存在什么问题?我该如何解决?
答案1
然后尝试登录控制台:
ssh 本地主机
这将测试主机上的 ssh 守护进程,而不考虑防火墙或其他过滤。
答案2
您正在运行服务器还是其他人在运行?您是否拥有服务器上的 root 访问权限?听起来您可能在服务器端被阻止了。您在客户端能做的事情不多。首先尝试使用“-v”、“-vv”或“-vvv”选项来获取有关正在发生的事情的一些调试信息:
ssh -vv server.name.org
如果这没有帮助,你可以做一个路由追踪,平,nmap在主机上尝试查看是否可以在网络上看到该机器:
traceroute server.name.org
ping server.name.org
nmap -v -A server.name.org
很可能您被 server.name.org 上的防火墙阻止了,并且无法在客户端修复。
您有权访问服务器吗?如果可以,您可以通过禁用防火墙、尝试 ssh,然后重新启用防火墙(所有操作均在服务器上进行)来消除服务器上的防火墙潜在问题:
sudo servce iptables stop; ssh -v localhost; sudo service iptables start
你确定 sshd 进程正在运行吗?尝试查看它是否正在运行:
sudo service sshd status
如果它没有运行你需要启动它:
sudo service sshd start
您可以使用以下方式永久启用它:
sudo chkconfig sshd on
答案3
不知道这是否太晚了,但我通过打开防火墙(UFW)上的端口在 Linux Lite 中修复了这个问题。
sudo ufw allow 22 #replace 22 with whatever port
来源:https://www.linuxliteos.com/forums/network/sshd-or-openssh/msg19245/#msg19245
答案4
我遇到了同样的问题,服务器响应 ping 和登录提示,但不接受连接。
查看所有相关的sshd
配置文件,我注意到它缺少/etc/pam.d/sshd
配置文件。
由于我有 VM 控制台访问权限,因此我scp
通过控制台从另一台服务器复制此配置文件,从而解决了该问题。
从远程服务器复制文件的命令是:
scp -r root@remoteserver:/etc/pam.d/sshd /etc/pam.d/
ssh
使用以下命令重新启动服务:
service sshd restart
您现在就可以登录了。