Установка пакета
Пакет SSH входит в дистрибутивы ОС ОН Орёл 2.12 и ОС СН Смоленск 1.6, но по умолчанию устанавливается только клиент.
Установку сервера можно выполнить при инсталляции системы, отметив соответствующий пункт в диалоге выбора программного обеспечения,
либо после установки системы с помощью графического менеджера пакетов или из командной строки:
Command |
---|
apt install ssh |
После установки с помощью графического менеджера пакетов или из командной строки сервис запускается автоматически.
После установки при инсталляции ОС сервис ssh будет отключен, и его нужно будет включить и запустить отдельно командами:
Command |
---|
systemctl enable ssh |
Настройка пакета
Проверить состояние сервиса:
Command |
---|
systemctl status ssh |
Конфигурация сервера хранится в файле /etc/ssh/sshd_config.
Чтобы изменения вступили в силу необходимо перезапустить сервис:
Command |
---|
systemctl restart sshd |
Простейшие меры безопасности
Из соображений повышения безопасности рекомендуется изменить некоторые значения по умолчанию:
- Port - номер порта, который слушает сервис (22) - на любое другое
- MaxAuthTries - количество попыток подключения (6) - уменьшить, например, до 3
- LoginGraceTime - время, дающееся для подключения (2m) - уменьшить, например до 30s
Дополнительно, можно ограничить IP-адреса, с которых возможно подключение, например:
- в файле /etc/hosts.deny запретить все подключения:
Информация |
---|
# /etc/hosts.deny: list of hosts that are _not_ allowed to access the system. # See the manual pages hosts_access(5) and hosts_options(5). ALL |
- а в файле /etc/hosts.allow разрешить только необходимые:
Информация |
---|
# /etc/hosts.allow: list of hosts that are allowed to access the system. SSHD: 192.168.1.1 |
Авторизация по ключам
См. раздел "В помощь администратору"
Настройка клиента
Конфигурация клиента хранится в файле /etc/ssh/ssh_config.
Клиент работоспособен сразу после установки ОС, и настроек не требует.
Настройка выбора алгоритма защитного преобразования.
В поставляемый в составе дистрибутивов ОС ОН Орёл 2.12 и ОС СН Смоленск 1.6 пакет ssh встроены следующие алгоритмы защитного преобразования:
Информация |
---|
3des-cbc blowfish-cbc cast128-cbc arcfour arcfour128 arcfour256 aes128-cbc aes192-cbc aes256-cbc rijndael-cbc@lysator.liu.se aes128-ctr aes192-ctr aes256-ctr grasshopper-cbc grasshopper-ctr aes128-gcm@openssh.com aes256-gcm@openssh.com chacha20-poly1305@openssh.com |
При этом в список алгоритмов, допустимых к использованию, по умолчанию включены следующие алгоритмы (перечислены в порядке убывания приоритетов применения):
Информация |
---|
# Ciphers grasshopper-ctr,aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc |
Выше приведена строчка из конфигурационного файла клианта /etc/ssh/ssh_config.
Если возникает необходимость изменить набор допустимых алгоритмов, или изменить их приоритеты, следует раскомментировать эту строчку, и указать нужные алгоритмы в нужном порядка приоритета.
Монтирование удалённой файловой системы по ssh
SSHFS (Secure Shell FileSystem) - программа, позволяющая монтировать удаленную файловую систему и взаимодействовать с удаленными файловыми ресурсами как с обычными файлами.
Для монтирования SSHFS использует SSH File Transfer Protocol (SFTP) — безопасный протокол передачи данных, обеспечивающий полный доступ к файловым ресурсам через протокол Secure Shell.
От сервера, предоставляющего удалённый ресурс для монтирования, требуется только работающий сервис SSH.
При стандартной установке ОС СН Орёл 2.12 и ОС ОН Смоленск 1.6 пакет sshfs устанавливается автоматически, при необходимости может быть установлен с помощью графического менеджера пакетов или из командной строки:
Command |
---|
apt install sshfs |
Для выполнения монтирования без запроса пароля должна быть настроена авторизация по ключам (см. выше).
Команда монтирования:
Command |
---|
sshfs -o allow_other,IdentityFile=~local_user/.ssh/id_rsa remote_user@server:/home/remote_user /mnt |
Пояснения к команде:
- -o - ключ, указывающий, что далее следуют параметры подключения/монтирования;
- allow_other - разрешить доступ к примонтированному ресурсу непривилегированным пользователям (необязательный параметр);
- IdentityFile=~local_user/.ssh/id_rsa - файл с ключом доступа (необязательный параметр, если его нет - будет запрошен пароль);
- remote_user@server:/home/remote_user - указание на ресурс, который будем монтировать;
(в данном случае на сервере server от имени пользователя remote_user монтируем домашний каталог этого пользователя /home/remote_user) - /mnt - локальная точка монтирования
Автоматическое монтирование может быть задано в файле /etc/fstab:
Информация |
---|
sshfs#remote_user@server:/home/remote_user/ /mnt fuse defaults,allow_other,IdentityFile=~local_user/.ssh/id_rsa 0 0 |
Для выполнения автоматического монтирования без запроса пароля должна быть настроена авторизация по ключам (см. выше).
Демонтировать ресурс можно обычной командой umount с указанием точки монтирования:
Command |
---|
umount /mnt |
В случае ошибок монтирования для демонтирования может понадобиться отдельная команда:
Command |
---|
fusermount -u /mnt |
Использование алгоритмов защитного преобразования данных ГОСТ
Сервер и клиент ssh, входящие в состав дистрибутивов ОС ОН Орёл 2.12 и ОС СН Смоленск 1.6, имеют встроенную поддержку работы с алгоритмами защитного преобразования ГОСТ,
причем, если такие алгоритмы поддерживаются и клиентом и сервером, то они используются по умолчанию.
Некоторые подробности про эти алгоритмы можено прочитать в описании библиотеки libgost-astra.
Проверка используемого алгоритма защитного преобразования
Проверку используемого при подключении алгоритма защитного преобразования можно производить как на стороне клиента, так и на стороне сервера.
В обоих случаях для этого нужно включить вывод отладочной информации.
На стороне сервера:
в файле конфигурации сервера /etc/ssh/sshd_config раскомментировать строчки SyslogFacility и LogLevel, заменить уровень отладки INFO на DEBUG
Информация |
---|
# Logging SyslogFacility AUTH LogLevel DEBUG |
После внесения изменений перезапустить сервер:
Command |
---|
systemctl restart ssh |
Отладочная информация сервера ssh выводится в файл /var/log/auth.log, и отслеживать сообщения о методах защитного преобразования, используемых при подключении клиентов, можно командой:
Command |
---|
tail -f | grep cipher /var/log/auth.log |
На стороне клиента:
При выполнении подключения использовать опцию -v для вывода отладочной информации:
Command |
---|
ssh -v ServerSSH |
И в первом, и во втором случае используемый для подключения метод защитного преобразования будет отображен в виде строчек такого вида:
Информация |
---|
debug1: kex: server->client cipher: grasshopper-ctr MAC: hmac-gost2012-256-etm compression: none debug1: kex: client->server cipher: grasshopper-ctr MAC: hmac-gost2012-256-etm compression: none |