Рейтинг:0

Tailscale: SSH работает с Openssh, скомпилированным вручную, но не с Openssh, установленным в системе.

флаг in

(Этот вопрос должен быть помечен «Tailscale», но его еще нет — требуется знание Tailscale)

У меня есть стандартный ноутбук Ubuntu 20.04, подключающийся через ssh к удаленному Raspberry Pi (порт 22). В удаленном месте на маршрутизаторе есть перенаправление портов (59995-> 22).

Примечание: я удалил ~/.ssh/config во время тестирования.

SSH всегда успешно подключается, используя:

ssh user@public_ip -i ~/.ssh/id_rsa -p 59995

Однако, когда я использую Tailscale IP, он никогда не подключается, просто зависает на 120 секунд, а затем истечет время ожидания:

ssh user@tailscale-ip -i ~/.ssh/id_rsa (не работает)

Однако, если я вручную скомпилирую OpenSSH v8.2 и использую эту версию вместо двоичного файла /usr/bin/ssh, тогда он будет работать отлично! Хотя /usr/bin/ssh тоже v8.2

./ssh user@tailscale-ip -i ~/.ssh/id_rsa (это работает!)

Резюме: системный двоичный файл отлично работает с «обычным» ssh, но не с ssh-через-tailscale. Однако скомпилированная вручную (та же самая) версия Openssh прекрасно работает как с обычным ssh, так и с ssh-over-tailsale. Кто-нибудь знает, что может быть причиной этого?

Дополнительные примечания

Я не думаю, что это какая-то очевидная проблема с сетью tailscale: т. е. если я проверю через tailscale IP, то nmap сканирование показывает, что правильные порты открыты, и я могу сетевая кошка прямо к tailscale_ip: 22, он получает и отвечает.

diff ~/openssh-8.2p1/ssh /usr/bin/ssh показывает, что двоичные файлы отличаются. (также огромная разница в размере, около 3 МБ против 0,7 МБ)

/usr/bin/ssh -V : OpenSSH_8.2p1 Ubuntu-4ubuntu0.4, OpenSSL 1.1.1f 31 марта 2020 г.

~/openssh-8.2p1/ssh -V : OpenSSH_8.2p1, OpenSSL 1.1.1f 31 марта 2020 г.

Журнал /usr/bin/ssh -vvv user@tailscale_ip -i ~/.ssh/id_rsa (ip отредактирован)

OpenSSH_8.2p1 Ubuntu-4ubuntu0.4, OpenSSL 1.1.1f 31 марта 2020 г.
debug1: Чтение данных конфигурации /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config строка 19: включение /etc/ssh/ssh_config.d/*.conf не соответствует ни одному файлу
debug1: /etc/ssh/ssh_config строка 21: Применение параметров для *
debug2: resolve_canonicalize: имя хоста 100.1.1.1 — это адрес
отладка2: ssh_connect_direct
debug1: подключение к порту 22 100.1.1.1 [100.1.1.1].
< 2 минуты зависания здесь >
ssh: подключиться к хосту 100.1.1.1, порт 22: время ожидания подключения истекло

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.