![突然,出站 scp、sftp、rsync 和 ssh /bin/true 失败;ssh 仍然有效](https://linux22.com/image/789505/%E7%AA%81%E7%84%B6%EF%BC%8C%E5%87%BA%E7%AB%99%20scp%E3%80%81sftp%E3%80%81rsync%20%E5%92%8C%20ssh%20%2Fbin%2Ftrue%20%E5%A4%B1%E8%B4%A5%EF%BC%9Bssh%20%E4%BB%8D%E7%84%B6%E6%9C%89%E6%95%88.png)
问题
在运行 Mac OS 10.15.7 的 MacBook Pro 上,我无法向任何服务器执行出站 scp、sftp 或 rsync(我尝试过大约 10 个我自己的服务器)。我也无法通过 ssh 运行远程命令,例如ssh othermachine /bin/true
像 scp 一样失败。但是可以ssh othermachine
正常工作。这个问题是上周突然出现的,此前 scp 在这些机器上已经完美运行多年。
迄今为止尝试过
- 所有其他机器仍可以相互进行 scp 和 sftp 操作,包括与我的笔记本电脑所在的同一网络之间的操作。这似乎将问题缩小到我的笔记本电脑上,并特别消除了网络问题。
- 这似乎不是一个问题
~/.bashrc
——~/.profile
甚至在两台机器上完全删除这些文件也不会改变任何东西,并且前者已经包含对非交互式会话的正确处理。 - 就像我以普通用户身份运行 scp 一样,sudo 操作也会失败。尝试此操作还需要使用密码验证,因此这似乎排除了
~/.ssh/authorized_keys
我用于自动登录的问题。 - 不同版本的 ssh/scp/sftp 都失败了。我尝试了内置版本 (OpenSSH_8.1p1、LibreSSL 2.7.3) 和 Homebrew 的最新版本 (OpenSSH_9.4p1、OpenSSL 3.1.2 1 Aug 2023)。特别是,
scp -O
较新的版本也以同样的方式失败。
典型输出
我会尽可能地发布典型输出。(SE 声称它们“看起来像垃圾邮件”,但我发现其他人都可以发布它们,所以我一定是做错了什么!)
最后 20 行来自scp -vvv 随机文件本地服务器:~:
debug1: Remote: Ignored authorized keys: bad ownership or modes for file /home/me/.ssh/authorized_keys
debug3: receive packet: type 4
debug1: Remote: /home/me/.ssh/authorized_keys2:1: key options: agent-forwarding port-forwarding pty user-rc x11-forwarding
debug3: receive packet: type 91
debug2: channel_input_open_confirmation: channel 0: callback start
debug2: fd 3 setting TCP_NODELAY
debug3: set_sock_tos: set socket 3 IP_TOS 0x20
debug2: client_session2_setup: id 0
debug1: Sending subsystem: sftp
debug2: channel 0: request subsystem confirm 1
debug3: send packet: type 98
debug3: client_repledge: enter
debug1: pledge: fork
debug2: channel_input_open_confirmation: channel 0: callback done
debug2: channel 0: open confirm rwindow 0 rmax 32768
debug3: send packet: type 1
client_loop: send disconnect: Broken pipe
scp: Connection closed
答案1
突然间——噗——它又恢复正常了!我几乎什么都没做,甚至没有重新启动电脑。
我无法很好地解释这里发生了什么。也许是某种 OS X 微更新或我的本地网络上的非常微妙的问题。如果您有任何假设,我很乐意听取。