Назад | Перейти на главную страницу

Входящие ssh-соединения выполняются с собственным sshd, а не с Homebrew OpensSH ssh

Входящие ssh-соединения производятся с родным (MacOSX) sshd, а не с установленным Homebrew OpensSSH sshd

У меня есть vm linux ubuntu server 18.0.4 и Macbook под управлением Osx 10.14.6 У обоих есть учетная запись для пользователя bbb, и я могу успешно подключиться к каждому из них без проблем.

В macbook установлен openssh через homebrew ssh -V

OpenSSH_8.0p1, OpenSSL 1.1.1d 10 сен 2019 Какой ssh ​​/ usr / local / bin / ssh
Как и ожидалось (обратите внимание, что исходная версия Mac OSX находится в / etc / ssh и является версией 7.9)

Однако, когда я подключаюсь к macbook С машины vm ubuntu, соединение, по-видимому, выполняется с OSX shh версии 7.9, а не с версией homebrew 8.0

Это можно увидеть при подключении с сервера ubuntu (172.116.36.1290 к macbook 10.10.2.3 с помощью команды

ssh -v bbb@10.10.2.3
>
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)

Аналогично сканирование ssh-сервера mac osx из ubuntu с помощью nmap

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 bbb@172.116.36.129
>
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 для домашнего приготовления !!!

Я не понимаю, может ли кто-нибудь помочь?

заранее спасибо

SSH - это программа, состоящая из двух частей: есть сервер, называемый SSH Daemon, и он содержится в двоичном файле 'sshd', а также есть клиент, вы запускаете его как 'ssh'.

Двоичный файл сервера обычно находится в ../sbin, потому что он, возможно, должен быть привязан к привилегированному порту 22 и поэтому считается исполняемым файлом только для суперпользователя.

Все ваши «доказательства» показывают, что клиент (ssh), который вы используете из MacOS, является вашим доморощенным. Но вы ничего не проверяли по поводу сервера (sshd).

Похоже, что в вашем случае система все еще запускает свой связанный sshd из местоположения по умолчанию, и он привязан к порту 22. Чтобы привязать к нему другую программу, вам нужно сначала остановить старую.

Итак, если вы хотите запустить sshd на порт по умолчанию, вам нужно отключить связанный sshd. Вы также можете запустить их оба на разных портах, один из них будет использовать порт, отличный от порта по умолчанию. Для этого в sshd_config:

...
Port 22222
...

Затем для подключения используйте ssh -p 22222 user @ address.