AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 21801
Accepted
Khaled
Khaled
Asked: 2011-01-17 02:56:11 +0800 CST2011-01-17 02:56:11 +0800 CST 2011-01-17 02:56:11 +0800 CST

SSH 服务器不工作(重新生成直到停止)

  • 772

我有一个正在运行的 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

我搜索了类似的问题/解决方案。有人说这是因为 SSH 守护进程试图在联网之前启动,他们建议更改ListenAddress为. 我认为这不是我的原因,因为我的问题是在系统启动并运行后发生的。/etc/ssh/sshd_config0.0.0.0

知道是什么原因造成的吗?这是 Ubuntu Server,它应该可以使用 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.

似乎在我重新加载 SSH 守护程序后开始出现此错误。我应该避免使用ssh reload和使用ssh restart吗?

10.04
  • 7 7 个回答
  • 28172 Views

7 个回答

  • Voted
  1. 0xC0000022L
    2013-03-19T18:14:53+08:002013-03-19T18:14:53+08:00

    我刚刚在我的 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.
    

    好多了!此错误消息使我能够查看问题所在并进行修复。两个日志文件都不包含此输出。

    注意:至少在 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 甚至是我需要支付额外费用才能获得带外访问的物理服务器)到机器)。

    • 21
  2. Best Answer
    Oli
    2011-01-17T03:58:20+08:002011-01-17T03:58:20+08:00

    您应该检查一下在SSH 开始陷入困境之前发生了什么syslog。如果网络子系统死了,这可以解释为什么sshd开始失败。

    我也会检查/var/log/auth.log。它sshd是日志,它可能会为您提供更好的错误消息。

    • 8
  3. SpamapS
    2011-01-22T15:38:09+08:002011-01-22T15:38:09+08:00

    这似乎是错误 #687535 的结果,该错误最近在 natty 中得到修复,并已作为建议更新上传到 maverick 和 lucid。

    https://bugs.launchpad.net/ubuntu/lucid/+source/openssh/+bug/687535

    我鼓励大家去那里,尝试测试用例(搜索测试用例),并在安装建议的修复程序之前和之后发布你的结果。这将帮助 SRU 团队确定验证已完成并将其作为更新发布。

    • 4
  4. Flow
    2012-09-13T03:00:41+08:002012-09-13T03:00:41+08:00

    在/etc/ssh/sshd_config中,确保所有 yes 和 no 选项都是小写的。例如,如果您设置 , PermitRootLogin No,则 ssh 将不会启动。它实际上必须是PermitRootLogin no。

    • 3
  5. joe
    2012-03-18T22:47:29+08:002012-03-18T22:47:29+08:00

    重新启动后,我在 Linode 上的 Ubuntu 11.10 映像遇到了类似的问题。ssh 服务会在 syslog 中产生:

    Mar 18 06:31:33 servername kernel: init: ssh main process ended, respawning
    Mar 18 06:31:33 servername kernel: init: ssh main process (3419) terminated with status 255
    Mar 18 06:31:33 servername kernel: init: ssh main process ended, respawning
    Mar 18 06:31:33 servername kernel: init: ssh main process (3422) terminated with status 255
    Mar 18 06:31:33 servername kernel: init: ssh respawning too fast, stopped
    

    这是一个测试盒,它有大约 60 天的正常运行时间,所以在此过程中,我安装了一些附加到 sshd_config 底部的东西:

    ClientAliveInterval 60
    ClientCountAliveMax 60
    

    注释这些行允许 ssh 启动。

    • 1
  6. user652460
    2017-02-09T16:52:47+08:002017-02-09T16:52:47+08:00

    Ubuntu ssh 无法启动并且 syslog 产生“init: ssh 主进程 (2044) 以状态 255 终止”

    /usr/sbin/sshd -Ddp 10222

    确定对我有用以确定 sshd_config 行错误

    • -1
  7. Vicky Dhindsa
    2016-01-12T00:33:30+08:002016-01-12T00:33:30+08:00

    有同样的问题,上面的解决方案不起作用,但我有解决方案。

    root@imt:~# sshd
    sshd re-exec requires execution with an absolute path
    ssh localhost
    ssh: connect to host localhost port 22: Network is unreachable
    

    根据文档,路径没问题,所以我手动运行 sshd。

    root@imt:~# /usr/sbin/sshd 
    /var/run/sshd must be owned by root and not group or world-writable
    

    /var/run/sshd 权限是。

    root@imt:~# ls -ld /var/run/sshd
    drwsrwsrwt 2 root root 40 Jan  5 12:58 /var/run/sshd
    
    root@imt:~# chmod 755 /var/run/sshd
    

    那么它的罚款。运行 ssh localhost 并检查。

    root@imt:~# ssh localhost 
    The authenticity of host 'localhost (127.0.0.1)' can't be established.
    RSA key fingerprint is 64:93:fd:ab:4c:f9:7b:8a:86:60:22:f7:56:fa:ea:cc.
    Are you sure you want to continue connecting (yes/no)? yes
    
    • -2

相关问题

  • 使用 dpkg 手动安装软件包是否会阻止未来的升级路径?

  • 如何完全删除 Ruby + Rails + Gems?

  • 从 8.04 LTS 升级到 10.04 LTS 的体验?

  • 删除在线状态菜单,但保留注销菜单?

  • 什么可能会阻止 xrandr 屏幕之间的鼠标移动?[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    我需要什么命令来解压缩/提取 .tar.gz 文件?

    • 8 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Marko Smith

    如何使用命令行将用户添加为新的 sudoer?

    • 7 个回答
  • Marko Smith

    更改文件夹权限和所有权

    • 9 个回答
  • Martin Hope
    EmmyS 我需要什么命令来解压缩/提取 .tar.gz 文件? 2011-02-09 14:50:41 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve