Настройка SSH клиента
Файлы конфигурации
- Общая конфигурация
/etc/ssh/ssh_config
- Конфигурация пользователя
~/.ssh/config
Синтаксис конфигурации и значения по умолчанию описаны в руководстве man ssh_config
Возможные ошибки, при подключении к устаревшим устройствам
- no matching key exchange method found
- no matching cipher found
По умолчанию, старые алгоритмы могут быть исключены из списка разрешенных. Чтобы подключаться по SSH используя старые алгоритмы, необходимо в конфигурациию добавить хост и нужные алгоритмы для этого хоста. При определении хоста можно использовать стандартные символы подстановки '*', '?', также можно использовать отрицание '!'. Если нужно указать несколько масок, то их можно разделять пробелом.
host 1.1.1.1 kexalgorithms diffie-hellman-group1-sha1,diffie-hellman-group14-sha1 ciphers +aes256-cbc host 192.168.*.1 router-*.domain.ru kexalgorithms +diffie-hellman-group1-sha1 ciphers +aes256-cbc host 10.1.1.20? 10.1.1.21? sw-*.domain.ru kexalgorithms +diffie-hellman-group14-sha1 host !sw-*.domain.ru * kexalgorithms -diffie-hellman-group14-sha1 kexalgorithms -diffie-hellman-group1-sha1
Если необходимо заменить список доступных алгоритмов, то указывается полный список необходимых алгоритмов
kexalgorithms diffie-hellman-group1-sha1,...,diffie-hellman-group14-sha1
Если алгоритм добавляется в текущий список, то каждый алгоритм необходимо добавлять отдельной строкой
kexalgorithms +diffie-hellman-group1-sha1 kexalgorithms +diffie-hellman-group14-sha1
Проверка допустимого списка алогоритмов
ssh -Q cipher ssh -Q kex
Удаление хоста из known_hosts
ssh-keygen -R <host>
Настройка аутентификации пользователя по сертификату
# генерация ключа текущего пользователя в профиле клиентского хоста ssh-keygen -t rsa -b 4096 -P '' -f ~/.ssh/id_rsa # копирование публичного ключа текущего пользователя на хост сервера # по умолчанию копируется ~/.ssh/id_rsa.pub ssh-copy-id host
Проблемы
Проблема:
При входе выдается ошибка
System is booting up. See pam_nologin(8)
Причина:
При загрузке сервера система временно блокирует вход всем пользователям кроме root-а. Для этого временно создается файл, который после полной загрузки должен удалиться
cat /var/run/nologin --------------------------------- System is booting up. See pam_nologin(8) ---------------------------------
При выполнении login, если данный файл существует, то модуль pam_nologin выводит на консоль содержимое этого файла и блокирует вход всем кроме root. Если система при загрузке по какой то причине не смогла удалить этот файл, то блокировка сохраняется постоянно.
Решение:
# войти под root-ом и удалить этот файл rm -f /var/run/nologin