ssh 在 bash 上工作,但在我使用 zsh 或其他终端时不起作用,在 preauth 时被杀死
ssh works on bash but does not work when I use zsh or other terminal, killed on preauth
最近我遇到了这个问题,当我尝试从带有 bash 的终端使用 ssh 登录远程框时,它大部分时间都连接成功。我使用的命令只是
ssh -vvvv -p PORT USER@IP
有时(很少)我会收到以下错误
OpenSSH_7.9p1, LibreSSL 2.7.3
debug1: Reading configuration data /Users/USER/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug2: resolve_canonicalize: hostname IP is address
debug2: ssh_connect_direct
debug1: Connecting to IP [IP] port PORT.
debug1: connect to address IP port PORT: Unknown error: -536870212
ssh: connect to host IP port PORT: Unknown error: -536870212
但是,如果我更改为 zsh(或 fish),我几乎总是会遇到该错误。我实际上必须将 ssh 命令放在 while 循环中,直到它成功。这可能是什么根本原因?我在服务器端增加了 MaxSessions 和 MaxStartups。日志文件只说 te 客户端在预授权时断开连接。可能是某些环境变量正在影响本地 ssh 吗?您知道如何跟踪并修复它吗?谢谢
编辑:感谢@pynexj 的评论,根据https://communities.apple.com/de/thread/251124631,我不得不更新openssh。 Mojave 中的默认版本是
/usr/bin/ssh -V
OpenSSH_7.9p1, LibreSSL 2.7.3
用 brew 安装新版本后问题就解决了
brew install openssh
/usr/local/bin/ssh -V
OpenSSH_8.8p1, OpenSSL 1.1.1l 24 Aug 2021
ssh 连接现在可以在 bash、zsh、fish 等中使用。所以解决方案是通常的:更新它。谢谢
感谢@pynexj,我只需要升级我的 openssh 版本就可以解决这个问题。首先,我
$ /usr/bin/ssh -V
OpenSSH_7.9p1, LibreSSL 2.7.3
然后,运行
之后
brew install openssh
我得到了更新版本
$ /usr/local/bin/ssh -V
OpenSSH_8.8p1, OpenSSL 1.1.1l 24 Aug 2021
并且 ssh 适用于任何 shell
最近我遇到了这个问题,当我尝试从带有 bash 的终端使用 ssh 登录远程框时,它大部分时间都连接成功。我使用的命令只是
ssh -vvvv -p PORT USER@IP
有时(很少)我会收到以下错误
OpenSSH_7.9p1, LibreSSL 2.7.3
debug1: Reading configuration data /Users/USER/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug2: resolve_canonicalize: hostname IP is address
debug2: ssh_connect_direct
debug1: Connecting to IP [IP] port PORT.
debug1: connect to address IP port PORT: Unknown error: -536870212
ssh: connect to host IP port PORT: Unknown error: -536870212
但是,如果我更改为 zsh(或 fish),我几乎总是会遇到该错误。我实际上必须将 ssh 命令放在 while 循环中,直到它成功。这可能是什么根本原因?我在服务器端增加了 MaxSessions 和 MaxStartups。日志文件只说 te 客户端在预授权时断开连接。可能是某些环境变量正在影响本地 ssh 吗?您知道如何跟踪并修复它吗?谢谢
编辑:感谢@pynexj 的评论,根据https://communities.apple.com/de/thread/251124631,我不得不更新openssh。 Mojave 中的默认版本是
/usr/bin/ssh -V
OpenSSH_7.9p1, LibreSSL 2.7.3
用 brew 安装新版本后问题就解决了
brew install openssh
/usr/local/bin/ssh -V
OpenSSH_8.8p1, OpenSSL 1.1.1l 24 Aug 2021
ssh 连接现在可以在 bash、zsh、fish 等中使用。所以解决方案是通常的:更新它。谢谢
感谢@pynexj,我只需要升级我的 openssh 版本就可以解决这个问题。首先,我
$ /usr/bin/ssh -V
OpenSSH_7.9p1, LibreSSL 2.7.3
然后,运行
之后brew install openssh
我得到了更新版本
$ /usr/local/bin/ssh -V
OpenSSH_8.8p1, OpenSSL 1.1.1l 24 Aug 2021
并且 ssh 适用于任何 shell