SSH 连接被拒绝

SSH 连接被拒绝

我今天早些时候登录了我的服务器,现在当我进入 SSH 时,我收到了错误“SSH 连接被拒绝”我正在运行 Ubuntu Hardy。服务器仍在运行,并提供我无法访问的网页。上次我使用服务器时,没有更改任何 iptables。有没有什么方法可以解决此问题?更新:我确实可以访问基于浏览器的服务器控制台。虽然速度非常慢,但我可以进一步调查。

更新:当我使用 lsof 时,似乎 ssh 没有在我的端口上运行。我运行了sudo /etc/init.d/ssh 重启 什么都没发生,我的 ssh 端口上仍然没有任何运行。当我检查 /var/log/auth.log 时,我得到:

sudo: pam_unix(sudo:session): session opened for xxxx root by yyyy(uid=0)
sudo: pam_unix(sudo:session): session closed for user xxxx by yyyy(uid=0)

看起来它正在打开然后立即关闭会话。

答案1

除了已有的答案之外,我还建议以下几点。仔细检查防火墙规则集后,确保有某种方法可以恢复防火墙。

免责声明:如果此设备是面向互联网的机器,这将删除所有接口的防火墙保护,并可能导致您的盒子被拥有。

# iptables --flush
# iptables -P INPUT ACCEPT
# iptables -P FORWARD ACCEPT
# iptables -P OUTPUT ACCEPT
# /etc/init.d/openssh-server restart

然后通过 ssh 重试连接,如果失败,请检查 /var/log/auth.log。

您还可以使用

# lsof -i TCP:22 

查看 ssh 端口是否打开以及它正在监听的 IP 地址。

编辑:回复:更新,这似乎与 ssh 无关(它似乎与 sudo 权限提升有关。

尝试通过 ssh 连接时尝试 tail -f /var/log/auth.log。

连接被拒绝意味着该连接被防火墙或守护进程本身明确拒绝。

正常连接看起来是这样的:

Mar 23 13:32:32 <hostname> sshd[20100]: Accepted password for <user> from xxx.xxx.xxx.xxx port xxxxx ssh2
Mar 23 13:32:32 <hostname> sshd[20102]: (pam_unix) session opened for user <user> by (uid=0)

身份验证失败的情况如下:

Mar 23 13:35:54 <hostname> sshd[20177]: Failed password for <user> from xxx.xxx.xxx.xxx port xxxxx ssh2

如果它由于某种原因被 sshd 阻止,那么它将在身份验证日志中被忽略,如果它被防火墙阻止(请注意,防火墙可能位于主机、客户端或介于两者之间的某个地方),您将看不到任何内容。

如果是这种情况,请回复我们,从那里开始客户端、服务器和任何中间路由器上都会有 tcp 转储。

答案2

嗯,可能是因为某种原因 ssh 服务器宕机了 - 检查的一种方法是使用 netcat - netcat 应该会产生某种响应。为了安全起见,我还会从另一个 ip 地址尝试一下。

答案3

看看你的 hosts.deny 文件!也许你的 IP 不知怎么就进入了那里。

答案4

控制台访问 -> 检查 SSHd 日志 -> 修复。

相关内容