传入的 ssh 连接正在与本机 sshd 建立,而不是 Homebrew OpensSSH sshd

传入的 ssh 连接正在与本机 sshd 建立,而不是 Homebrew OpensSSH sshd

传入的 ssh 连接似乎是与本机 (MacOSX) sshd 建立的,而不是与 Homebrew 安装的 OpensSSH sshd 建立的

我有一台 vm linux ubuntu server 18.0.4 和运行 Osx 10.14.6 的 Macbook,两者都有用户 bbb 的帐户,并且我可以成功地从每个帐户连接到每个帐户而没有任何问题。

macbook 通过 homebrew ssh -V 安装了 openssh

OpenSSH_8.0p1,OpenSSL 1.1.1d 2019 年 9 月 10 日 哪个 ssh /usr/local/bin/ssh
正如预期的那样(请注意,原始 Mac osx 版本位于 /etc/ssh 中,并且是版本 7.9)

但是,当我从 vm ubuntu 机器连接到 MacBook 时,连接显然是连接到 OSX shh 版本 7.9,而不是 homebrew 版本 8.0

可以看到,使用命令从 ubuntu 服务器(172.116.36.1290)连接到 macbook 10.10.2.3

ssh -v [email protected]
>
OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n  7 Dec 2017
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 10.10.2.3 [10.10.2.3] port 22.
debug1: Connection established.
debug1: identity file /home/bbb/.ssh/id_rsa type 0
debug1: key_load_public: No such file or directory
debug1: identity file /home/bbb/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/bbb/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/bbb/.ssh/id_dsa-cert type -1
debug1: identity file /home/bbb/.ssh/id_ecdsa type 2
debug1: key_load_public: No such file or directory
debug1: identity file /home/bbb/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/bbb/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/bbb/.ssh/id_ed25519-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.3
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.9
debug1: match: OpenSSH_7.9 pat OpenSSH* compat 0x04000000
(..... login is successful)

类似地,使用 nmap 从 ubuntu 扫描 mac osx ssh 服务器

sudo nmap --script ssh2-enum-algos -sV -p 22 10.10.2.3
>
[sudo] password for bbb:

Starting Nmap 7.60 ( https://nmap.org ) at 2019-09-23 03:25 UTC
Nmap scan report for 10.0.2.3
Host is up (0.0011s latency).

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 7.9 (protocol 2.0)
| ssh2-enum-algos:
|   kex_algorithms: (10)
.......etcetera 

此外,重复从 macbook 10.10.2.3 到 ubuntu 服务器 172.116.36.129 的反向连接

ssh -v [email protected]
>
OpenSSH_8.0p1, OpenSSL 1.1.1d  10 Sep 2019
debug1: Reading configuration data /usr/local/etc/ssh/ssh_config
debug1: Connecting to 172.116.36.129 [172.116.36.129] port 22.
debug1: Connection established.
debug1: identity file /Users/bbb/.ssh/id_rsa type -1
debug1: identity file /Users/bbb/.ssh/id_rsa-cert type -1
debug1: identity file /Users/bbb/.ssh/id_dsa type -1
debug1: identity file /Users/bbb/.ssh/id_dsa-cert type -1
debug1: identity file /Users/bbb/.ssh/id_ecdsa type -1
debug1: identity file /Users/bbb/.ssh/id_ecdsa-cert type -1
debug1: identity file /Users/bbb/.ssh/id_ed25519 type -1
debug1: identity file /Users/bbb/.ssh/id_ed25519-cert type -1
debug1: identity file /Users/bbb/.ssh/id_xmss type -1
debug1: identity file /Users/bbb/.ssh/id_xmss-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_8.0
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.6p1 Ubuntu-4ubuntu0.3
debug1: match: OpenSSH_7.6p1 Ubuntu-4ubuntu0.3 pat OpenSSH_7.0*,OpenSSH_7.1*,OpenSSH_7.2*,OpenSSH_7.3*,OpenSSH_7.4*,OpenSSH_7.5*,OpenSSH_7.6*,OpenSSH_7.7* compat 0x04000002
(..... login is successful)

显示预期的自制版本 8.0!!!

我不明白,有人可以帮忙吗?

提前致谢

答案1

SSH 是一个由两部分组成的程序:有一个服务器,称为 SSH Daemon,它包含在二进制文件“sshd”中,还有一个客户端,您可以将其作为“ssh”运行。

服务器二进制文件通常驻留在../sbin 中,因为它可能需要绑定到特权端口 22,因此被视为仅超级用户可执行文件。

你的所有“证据”都表明你在 MacOS 上使用的客户端 (ssh) 是你自制的。但你没有检查任何有关服务器 (sshd) 的信息。

在您的情况下,系统似乎仍然在默认位置运行其捆绑的 sshd,并且它绑定到端口 22。要在那里绑定另一个程序,您需要先停止旧程序。

因此,如果您想在默认端口上运行 sshd,则必须禁用捆绑的 sshd。您也可以在不同的端口上运行它们,其中一个将使用非默认端口。为此,在 sshd_config 中:

...
Port 22222
...

然后,使用“ssh -p 22222 user@address”进行连接。

相关内容