You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派OctoPrint环境SSH连接超时问题求助

问题

我有一台运行OctoPrint的树莓派,已通过配置文件完成各项设置(如将SSH端口设为23),但无法正常连接SSH。客户端执行命令及输出如下:

PS C:\Users\uahs> ssh -vvv -p 23 pi@10.230.141.43
OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2
debug3: Failed to open file:C:/Users/uahs/.ssh/config error:2
debug3: Failed to open file:C:/ProgramData/ssh/ssh_config error:2
debug2: resolve_canonicalize: hostname 10.230.141.43 is address
debug2: ssh_connect_direct
debug1: Connecting to 10.230.141.43 [10.230.141.43] port 23.
debug1: Connection established.
debug3: Failed to open file:C:/Users/uahs/.ssh/id_rsa-cert error:2
debug3: Failed to open file:C:/Users/uahs/.ssh/id_rsa-cert.pub error:2
debug1: identity file C:\\Users\\uahs/.ssh/id_rsa-cert type -1
debug3: Failed to open file:C:/Users/uahs/.ssh/id_dsa error:2
debug3: Failed to open file:C:/Users/uahs/.ssh/id_dsa.pub error:2
debug1: identity file C:\\Users\\uahs/.ssh/id_dsa type -1
debug3: Failed to open file:C:/Users/uahs/.ssh/id_dsa-cert error:2
debug3: Failed to open file:C:/Users/uahs/.ssh/id_dsa-cert.pub error:2
debug1: identity file C:\\Users\\uahs/.ssh/id_dsa-cert type -1
debug3: Failed to open file:C:/Users/uahs/.ssh/id_ecdsa error:2
debug3: Failed to open file:C:/Users/uahs/.ssh/id_ecdsa.pub error:2
debug1: identity file C:\\Users\\uahs/.ssh/id_ecdsa type -1
debug3: Failed to open file:C:/Users/uahs/.ssh/id_ecdsa-cert error:2
debug3: Failed to open file:C:/Users/uahs/.ssh/id_ecdsa-cert.pub error:2
debug1: identity file C:\\Users\\uahs/.ssh/id_ecdsa-cert type -1
debug1: identity file C:\\Users\\uahs/.ssh/id_ed25519 type 3
debug3: Failed to open file:C:/Users/uahs/.ssh/id_ed25519-cert error:2
debug3: Failed to open file:C:/Users/uahs/.ssh/id_ed25519-cert.pub error:2
debug1: identity file C:\\Users\\uahs/.ssh/id_ed25519-cert type -1
debug3: Failed to open file:C:/Users/uahs/.ssh/id_xmss error:2
debug3: Failed to open file:C:/Users/uahs/.ssh/id_xmss.pub error:2
debug1: identity file C:\\Users\\uahs/.ssh/id_xmss type -1
debug3: Failed to open file:C:/Users/uahs/.ssh/id_xmss-cert error:2
debug3: Failed to open file:C:/Users/uahs/.ssh/id_xmss-cert.pub error:2
debug1: identity file C:\\Users\\uahs/.ssh/id_xmss-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_for_Windows_8.1
debug3: recv - from CB(2) ERROR:138, io:000002460156D400
kex_exchange_identification: read: Connection timed out

注:上述证书文件打开失败的错误属于正常情况,我已配置好证书。

服务器端/var/log/auth.log日志内容:

Jul  6 16:22:50 octopi su: (to pi) root on none
Jul  6 16:22:50 octopi su: pam_unix(su:session): session opened for user pi by (uid=0)
Jul  6 16:22:50 octopi sshd[728]: debug1: Set /proc/self/oom_score_adj from 0 to -1000
Jul  6 16:22:50 octopi sshd[728]: debug1: Bind to port 23 on 0.0.0.0.
Jul  6 16:22:50 octopi sshd[728]: Server listening on 0.0.0.0 port 23.
Jul  6 16:22:50 octopi sshd[728]: debug1: Bind to port 23 on 10.230.141.43.
Jul  6 16:22:50 octopi sshd[728]: error: Bind to port 23 on 10.230.141.43 failed: Address already in use.
Jul  6 16:22:50 octopi systemd: pam_unix(systemd-user:session): session opened for user pi by (uid=0)
Jul  6 16:33:53 octopi sshd[728]: debug1: Forked child 1288.
Jul  6 16:33:53 octopi sshd[1288]: debug1: Set /proc/self/oom_score_adj to 0
Jul  6 16:33:53 octopi sshd[1288]: debug1: rexec start in 4 out 4 newsock 4 pipe 6 sock 7
Jul  6 16:33:53 octopi sshd[1288]: debug1: inetd sockets after dupping: 3, 3
Jul  6 16:33:53 octopi sshd[1288]: Connection from 10.230.19.79 port 56747 on 10.230.141.43 port 23
Jul  6 16:35:19 octopi sshd[728]: debug1: Forked child 2296.
Jul  6 16:35:19 octopi sshd[2296]: debug1: Set /proc/self/oom_score_adj to 0
Jul  6 16:35:19 octopi sshd[2296]: debug1: rexec start in 4 out 4 newsock 4 pipe 7 sock 8
Jul  6 16:35:19 octopi sshd[2296]: debug1: inetd sockets after dupping: 3, 3
Jul  6 16:35:19 octopi sshd[2296]: Connection from 10.230.19.79 port 56784 on 10.230.141.43 port 23
Jul  6 16:41:26 octopi sshd[728]: debug1: Forked child 6567.
Jul  6 16:41:26 octopi sshd[6567]: debug1: Set /proc/self/oom_score_adj to 0
Jul  6 16:41:26 octopi sshd[6567]: debug1: rexec start in 4 out 4 newsock 4 pipe 6 sock 7
Jul  6 16:41:26 octopi sshd[6567]: debug1: inetd sockets after dupping: 3, 3
Jul  6 16:41:26 octopi sshd[6567]: Connection from 10.230.19.79 port 57048 on 10.230.141.43 port 23

树莓派的OctoPrint Web界面可正常访问,能检测到SSH服务器存在,但SSH连接超时。此前曾通过该配置成功连接,近期出现此问题,请问这是网络问题还是配置问题?该如何解决?


分析与解决方法

核心问题定位

从服务器日志中的error: Bind to port 23 on 10.230.141.43 failed: Address already in use可以明确,端口23已被其他进程占用,这是导致SSH连接超时的核心原因。尽管sshd已绑定0.0.0.0:23(所有网卡),但绑定具体网卡IP时失败,导致部分连接无法完成密钥交换,最终触发客户端超时。

具体解决步骤

  1. 排查占用端口23的进程
    在树莓派上执行以下命令,找出占用端口的进程信息:

    sudo lsof -i :23
    # 或者使用netstat命令
    sudo netstat -tulpn | grep :23
    

    命令会返回占用端口的进程PID和名称。

  2. 处理占用端口的进程

    • 如果该进程是无用服务,直接终止并重启sshd:
      sudo kill -9 <进程PID>
      sudo systemctl restart sshd
      
    • 如果该进程是必须保留的服务,修改sshd监听端口为未被占用的端口(例如2222):
      1. 编辑sshd配置文件:
        sudo nano /etc/ssh/sshd_config
        
      2. 找到Port字段,将23替换为新端口(如2222),保存并退出。
      3. 重启sshd服务:
        sudo systemctl restart sshd
        
      4. 客户端连接时使用新端口:
        ssh -p 2222 pi@10.230.141.43
        
  3. 验证修复效果
    执行客户端连接命令,确认是否能正常登录;同时查看服务器/var/log/auth.log,确保不再出现端口绑定失败的错误。

补充说明

OctoPrint Web界面能正常访问说明基础网络连通,但SSH端口被占用会阻断连接的密钥交换流程,最终导致超时。之前能正常连接,大概率是近期有新服务启动占用了23端口,或是sshd配置变更后出现绑定冲突。

内容的提问来源于stack exchange,提问作者AGreatUsernameChoice

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 15:48:06