我有一个正在运行的 Ubuntu Server 10.04.1。当我尝试通过 ssh 登录到服务器时,我无法登录。相反,我得到了connection refused错误。我尝试 ping 机器并得到回复!因此,明确的原因是 SSH 守护程序已停止。
重新启动后,我可以通过 ssh 登录到我的服务器。过了一段时间,我查看了我的日志/var/log/syslog,发现了以下记录:
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2465) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2469) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2473) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2477) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2481) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2485) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2489) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2493) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2497) terminated with status 255
Jan 16 10:57:09 myserver init: ssh main process ended, respawning
Jan 16 10:57:09 myserver init: ssh main process (2501) terminated with status 255
Jan 16 10:57:09 myserver init: ssh respawning too fast, stopped
Run Code Online (Sandbox Code Playgroud)
我搜索了类似的问题/解决方案。有人说,这是由SSH守护进程试图联网之前启动造成的,他们建议改变ListenAddress的/etc/ssh/sshd_config是0.0.0.0。我认为这不是我的原因,因为我的问题是在系统启动并运行后发生的。
知道是什么原因造成的吗?这是 Ubuntu 服务器,它应该使用 SSH 远程运行和访问。
更新:
这是我在/var/log/auth.log.
Jan 16 10:56:38 myserver sudo: user : TTY=pts/0 ; PWD=/home/user ; USER=root ; COMMAND=/usr/bin/vim /etc/ssh/sshd_config
Jan 16 10:57:09 myserver sudo: user : TTY=pts/0 ; PWD=/home/user ; USER=root ; COMMAND=/etc/init.d/ssh reload
Jan 16 10:57:09 myserver sshd[1465]: Received SIGHUP; restarting.
Jan 16 10:57:09 myserver sshd[2461]: Server listening on 0.0.0.0 port 22.
Jan 16 10:57:09 myserver sshd[2465]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2465]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2469]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2469]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2473]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2473]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2477]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2477]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2481]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2481]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2485]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2485]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2489]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2489]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2493]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2493]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2497]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2497]: fatal: Cannot bind any address.
Jan 16 10:57:09 myserver sshd[2501]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Jan 16 10:57:09 myserver sshd[2501]: fatal: Cannot bind any address.
Run Code Online (Sandbox Code Playgroud)
似乎在我重新加载 SSH 守护程序后开始出现此错误。我应该避免使用ssh reload和使用ssh restart吗?
0xC*_*22L 19
我的 12.04 盒子也遇到了同样的问题。即相同的症状。唉,它总是在我公司推出的发生ListenAddress与条款inet及inet6地址在sshd_config。简而言之,这似乎是格式错误的症状sshd_config- 尽管日志文件没有说明任何类似的内容。
sshd我发现在任何此类情况下通常非常有用的是在sshd不让它守护进程的情况下启动。我的问题是既没有syslog也没有auth.log表现出任何有意义的东西。
当我从终端启动它时,我得到:
# $(which sshd) -Ddp 10222
/etc/ssh/sshd_config line 8: address family must be specified before ListenAddress.
Run Code Online (Sandbox Code Playgroud)
好多了!此错误消息使我能够查看问题所在并进行修复。两个日志文件都不包含此输出。
注意:至少在 Ubuntu 上,这$(which sshd)是满足sshd绝对路径要求的最佳方法。否则你会得到以下错误:sshd re-exec requires execution with an absolute path. 该-p 10222品牌sshd听,替代端口,修改配置文件-这是这样,它不具有潜在冲突运行sshd情况。确保在这里选择一个自由端口。
这种方法多次帮助我发现问题,无论是身份验证问题还是其他类型。要获得真正详细的输出stdout,请使用$(which sshd) -Ddddp 10222(注意添加dd以增加详细程度)。有关更多调试优点检查man sshd。
这种方法的主要优点是它允许您检查sshd配置而无需sshd在默认端口上重新启动。通常这不应该干扰现有的 SSH 连接,但我已经看到了。因此,这允许人们在 - 可能 - 切断对远程服务器的访问之前验证配置文件(例如,我对某些 VPS 甚至物理服务器进行了验证,我需要支付额外费用才能获得带外访问权限到机器)。
您应该检查一下在SSH 开始在syslog. 如果网络子系统死亡,那可以解释为什么sshd开始失败。
我也会检查/var/log/auth.log。这sshd是日志,它可能会给你一个更好的错误信息。
| 归档时间: |
|
| 查看次数: |
27362 次 |
| 最近记录: |