Ubuntu 16.04 с ssh1 и ~/.ssh/config

Вопрос или проблема

С Ubuntu 15.10 и ранее у меня была запись хоста с “Протокол 1” в моем файле .ssh/config.

Ubuntu 16.04 больше не поддерживает SSH1 по умолчанию.

corben@ubuntu1604:~$ ssh -1 host
ssh1 не поддерживается

При использовании клиента ssh с любой записью хоста, имеющей строку “Протокол 1” в .ssh/config, он выдаёт сообщение:

corben@ubuntu1604:~$ ssh host
.ssh/config строка <nr>: Неверная спецификация протокола '1'.

Чтобы подключиться к моему хосту, используя ssh1, я могу установить пакет openssh-client-ssh1 и вызвать ssh1 вместо ssh. Но клиент ssh1 не использует запись хоста, настроенную в .ssh/config, когда строка “Протокол 1” отсутствует. Нет справочной страницы для ssh1, и “man ssh” всё ещё указывает опцию -1 для версии протокола 1. Я хочу использовать запись хоста, так как у меня настроены перенаправление портов и ключи ssh, которые я не хочу вводить каждый раз в командной строке.

Как использовать ssh и ssh1 в сосуществовании и .ssh/config?

Хост является встроенным устройством, которое все еще находится в эксплуатации, для которого не будет выпущено обновлений прошивки. Поскольку оно используется в локальной сети, аспект безопасности при использовании версии ssh 1 не является проблемой.

Протокол SSH1 ушел навсегда, и пора это признать. Его удалят из мануальных страниц и документации очень скоро, чтобы не путать пользователей. Ваша цель довольно неясна.

ssh1 все еще должен читать ~/.ssh/config, если только разработчики Ubuntu не сломали что-то. Можете вы выложить подробный лог (ssh1 -vvv host1) вашего подключения к вашему хосту ssh1? Изменяет ли использование ssh1 -1 host1 что-то?

Эту проблему можно решить и с клиентской стороны, установив клиент sshv1 (доступен в Ubuntu). Не рекомендуется на подключенной, живой сети, но я сделал это в тестовой сети, так как “сервер” в моем случае – это очень старое оборудование. Пакет – openssh-client-ssh1.

Ответ или решение

Для пользователей, работающих с Ubuntu 16.04 и старым оборудованием, которое поддерживает только SSH версии 1, задача совместимости с .ssh/config может представлять собой определенные сложности. В приведенных ниже рекомендациях мы будем рассматривать, как использовать SSH 1 и 2 в одном окружении, сохраняя конфигурацию в .ssh/config.

Использование SSH 1 и 2: Основные шаги

  1. Проверка наличия клиента SSH 1
    Ubuntu 16.04 по умолчанию не поддерживает SSH 1, но вы можете установить пакет, который включает в себя клиент SSH 1. Для этого выполните следующую команду:

    sudo apt-get install openssh-client-ssh1

    После установки этого пакета вы сможете использовать команду ssh1 для подключения к устройствам, которые требуют SSH 1.

  2. Настройка файла конфигурации .ssh/config
    Файл .ssh/config служит для хранения настроек подключений SSH. Однако, как вы уже заметили, при использовании SSH 1 с ssh1, опции, задаваемые в .ssh/config, не работают автоматически. Вам нужно будет дополнительно указать параметры для SSH 1.

    Пример конфигурации в .ssh/config:

    Host old_device
       HostName <IP_адрес_или_имя_хоста>
       User <ваше_имя_пользователя>
       Port <номер_порта>
       IdentityFile ~/.ssh/id_rsa_old
       Protocol 1

    Важно: Так как ssh1 не распознает опцию Protocol 1 в .ssh/config, вам придется указывать в командной строке, что хотите использовать SSH 1.

  3. Использование командной строки для подключения
    Для подключения к вашему старому устройству используйте:

    ssh1 old_device

    Обратите внимание, что в некоторых случаях может понадобиться указать дополнительные параметры, например, порт или ключ:

    ssh1 -p <номер_порта> -i ~/.ssh/id_rsa_old old_device

Примечания по безопасности

Рекомендуется использовать SSH 1 только в изолированной среде, так как этот протокол имеет серьезные уязвимости. Если ваше оборудование находится в локальной сети и не подвержено внешним угрозам, это может быть приемлемо. Однако всегда следует рассмотреть возможность обновления оборудования, чтобы использовать современные протоколы безопасности.

Использование SSH 2

Для подключения к машине, поддерживающей SSH 2, вы можете просто использовать привычную команду ssh, как обычно:

ssh user@ssh2_host

Заключение

Использование SSH версии 1 и 2 в Ubuntu 16.04 требует некоторой адаптации и настройки, но возможно. Установка пакета openssh-client-ssh1 и индивидуальные команды для подключения помогут вам управлять соединениями, сохраняя существующие конфигурации и настройки. Важно помнить о безопасности и избегать использования устаревших протоколов, там, где это возможно.Посмотрите лог подключения с использованием ключа -vvv, чтобы отследить возникающие проблемы.

Оцените материал
Добавить комментарий

Капча загружается...