[О блоге] [наверх] [пред] [2023-08-02 13:00:04+03:00] [95dbc1c110658d60dfc8abd33d03a430d5abd7c5]
Темы: [crypto]

OpenSSH против SSH

https://habr.com/ru/companies/ruvds/articles/751756/
Действительно, вечная проблема "реализация vs стандарт (типа независимый)".
Не знал что DJB выгоняли из DNS IETF-а. BIND кстати всегда прям не любил,
не нравился он мне даже форматом конфигов. У себя на практике вроде бы
его никогда и не использовал.

А вот OpenSSH мне нравится. Конечно, отнюдь не минималистичное решение,
но ребятам из OpenBSD доверие имеется. Да и как может не нравится софт,
в котором явно есть переключатель "не использовать (ненавистный) OpenSSL"
(ac8333dcf2a8d2e40a00b4a551355760aa0e28b7)?

Dropbear SSH я вроде в 2000-х как-то трогал в составе OpenWRT. Мало что
из воспоминаний о нём осталось. Если не ошибаюсь, то вроде были проблемы
с тем, что он современных алгоритмов каких-то не поддерживал.

    [оставить комментарий]
    комментарий 0:
    From: kmeaw
    Date: 2023-08-03 18:36:11Z
    
    dropbear с тех пор стал сильно лучше, он научился ed25519.
    
    А ещё есть tinyssh, который настолько tiny, что даже слушающий сокет
    открывать не умеет - нужен inetd или tcpserver из ucspi-tcp.
    
    Из нестандартных вещей OpenSSH ещё умеет обновлять hostkeys - можно
    просигнализировать со стороны сервера, что у него появились новые ключи,
    на которые он когда-нибудь переключится, и клиент их запомнит. Это
    позволяет не ломать TOFU при ротации ключей хоста.
    
    OpenSSH умеет закрывать каналы не только в прямом (я больше не буду
    посылать данные), но и в обратном (я больше не буду читать) направлении.
    
    На BSD-системах он может прокидывать SIGINFO.
    
    Между клиентом и сервером можно прокидывать не только TCP-стримы, но и
    tun/tap сетевые интерфейсы и unix-сокеты, причём в любом направлении.
    
    И самая неожиданная фича - при использовании родного мультиплексирования
    SSH2, клиент может сообщить серверу, что возможностями
    мультиплексирования он пользоваться больше не будет. В таком случае,
    попытка клиента открыть ещё один канал приведёт к разрыву соединения.
    Я когда-то хотел написать программу, которая бы делала дерево tmux
    плоским (flatten). Мне хотелось, чтобы при подключении SSH-клиента из
    tmux на сервер, где тоже работает tmux, в локальном tmux появлялись все
    удалённые окна; чтобы избежать send-prefix. Но по-умолчанию клиент
    OpenSSH не включает ControlMaster. Я попытался включить его отладчиком
    на живой сессии и оказалось, что он на уровне протокола защищён от
    такого вмешательства.
    
    комментарий 1:
    From: Sergey Matveev
    Date: 2023-08-06 12:39:19Z
    
    *** kmeaw [2023-08-03 19:31]:
    >А ещё есть tinyssh, который настолько tiny, что даже слушающий сокет
    >открывать не умеет - нужен inetd или tcpserver из ucspi-tcp.
    
    Вот про такую штуку не слышал раньше. Звучит трушно.
    
    >Между клиентом и сервером можно прокидывать не только TCP-стримы, но и
    >tun/tap сетевые интерфейсы и unix-сокеты, причём в любом направлении.
    
    Ага, использовал это не раз, приятная временами штука.
    
    >SSH2, клиент может сообщить серверу, что возможностями
    >мультиплексирования он пользоваться больше не будет [...]
    
    Интересно!