我可以很好地 ssh 到其他机器,但是当尝试 ssh 到机器 A(包括 ssh 到其自身)时,会立即显示损坏的管道消息。
ssh machine_A@localhost
client_loop: send disconnect: Broken pipe
到目前为止,我测试了下面的帖子以及一些谷歌帖子中看到的解决方案。不确定是什么问题。希望有人可能见过类似的问题或知道我可以继续调查的方向。
- ssh 连接“client_loop:发送断开连接:管道损坏”或“连接由 <IP> 端口 22 重置”
- https://stackoverflow.com/questions/73624585/client-loop-send-disconnect-broken-pipe-while-running-long-experiments-with
编辑:添加ssh -vvv user@localhost
请求密码后的输出
debug1: Next authentication method: password
user@localhost's password:
debug3: send packet: type 50
debug2: we sent a password packet, wait for reply
debug3: receive packet: type 52
Authenticated to localhost ([127.0.0.1]:22) using "password".
debug1: channel 0: new [client-session]
debug3: ssh_session2_open: channel_new: 0
debug2: channel 0: send open
debug3: send packet: type 90
debug1: Requesting [email protected]
debug3: send packet: type 80
debug1: Entering interactive session.
debug1: pledge: filesystem
debug3: send packet: type 1
client_loop: send disconnect: Broken pipe
答案1
因此,最终通过使用以下步骤清除 openssh-server 解决了这个问题。我之前的尝试只是简单地进行了 --reinstall,据我所知,这并不彻底。
步骤如下:
# backup config
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
# reinstall
sudo apt-get --purge remove openssh-server
sudo apt-get install openssh-server
# restart sshd
sudo systemctl restart sshd.service