Установка пакета
Пакет SSH входит в дистрибутивы ОС ОН Орёл 2.12 и ОС СН Смоленск 1.6, но по умолчанию устанавливается только клиент.
Установку сервера можно выполнить при инсталляции системы, отметив соответствующий пункт в диалоге выбора программного обеспечения,
либо после установки системы с помощью графического менеджера пакетов или из командной строки:
После установки при инсталляции ОС сервис ssh будет отключен, и его нужно будет включить и запустить отдельно командами:
systemctl start ssh
Настройка пакета
Проверить состояние сервиса:
Чтобы изменения вступили в силу необходимо перезапустить сервис:
Простейшие меры безопасности
Из соображений повышения безопасности рекомендуется изменить некоторые значения по умолчанию:
- 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).
#
# Example: ALL: some.host.name, .some.domain
# ALL EXCEPT in.fingerd: other.host.name, .other.domain
#
# If you're going to protect the portmapper use the name "rpcbind" for the
# daemon name. See rpcbind(8) and rpc.mountd(8) for further information.
#
# The PARANOID wildcard matches any host whose name does not match its
# address.
#
# You may wish to enable this to ensure any programs that don't
# validate looked up hostnames still leave understandable logs. In past
# versions of Debian this has been the default.
# ALL: PARANOID
ALL
- а в файле /etc/hosts.allow разрешить только необходимые:
# /etc/hosts.allow: list of hosts that are allowed to access the system.
# See the manual pages hosts_access(5) and hosts_options(5).
#
# Example: ALL: LOCAL @some_netgroup
# ALL: .foobar.edu EXCEPT terminalserver.foobar.edu
#
# If you're going to protect the portmapper use the name "rpcbind" for the
# daemon name. See rpcbind(8) and rpc.mountd(8) for further information.
#
SSHD: 192.168.1.1
SSHD: 192.168.0.0/16
Авторизация по ключам
См. раздел "В помощь администратору"
Настройка клиента
Конфигурация клиента хранится в файле /etc/ssh/ssh_config.
Клиент работоспособен сразу после установки ОС, и настроек не требует.
Монтирование удалённой файловой системы по ssh
SSHFS (Secure Shell FileSystem) - программа, позволяющая монтировать удаленную файловую систему и взаимодействовать с удаленными файловыми ресурсами как с обычными файлами.
Для монтирования SSHFS использует SSH File Transfer Protocol (SFTP) — безопасный протокол передачи данных, обеспечивающий полный доступ к файловым ресурсам через протокол Secure Shell.
От сервера, предоставляющего удалённый ресурс для монтирования, требуется только работающий сервис SSH.
При стандартной установке ОС СН Орёл 2.12 и ОС ОН Смоленск 1.6 пакет sshfs устанавливается автоматически, при необходимости может быть установлен с помощью графического менеджера пакетов или из командной строки:
Команда монтирования:
- -o - ключ, указывающий, что далее следуют параметры подключения/монтирования;
- allow_other - разрешить доступ к примонтированному ресурсу непривилегированным пользователям (необязательный параметр);
- IdentityFile=~local_user/.ssh/id_rsa - файл с ключом доступа (необязательный параметр, если его нет - будет запрошен пароль);
- remote_user@server:/home/remote_user - указание на ресурс, который будем монтировать;
(в данном случае на сервере server от имени пользователя remote_user монтируем домашний каталог этого пользователя /home/remote_user) - /mnt - локальная точка монтирования
Автоматическое монтирование может быть задано в файле /etc/fstab:
Для выполнения автоматического монтирования без запроса пароля должна быть настроена авторизация по ключам (см. выше).
Демонтировать ресурс можно обычной командой umount с указанием точки монтирования:
Использование алгоритмов защитного преобразования данных ГОСТ
Сервер и клиент ssh, входящие в состав дистрибутивов ОС ОН Орёл 2.12 и ОС СН Смоленск 1.6, имеют встроенную поддержку работы с алгоритмами защитного преобразования ГОСТ,
причем, если такие алгоритмы поддерживаются и клиентом и сервером, то они используются по умолчанию.
Некоторые подробности про эти алгоритмы можено прочитать в описании библиотеки libgost-astra.
Проверка используемого алгоритма защитного преобразования
Проверку используемого при подключении алгоритма защитного преобразования можно производить как на стороне клиента, так и на стороне сервера.
В обоих случаях для этого нужно включить вывод отладочной информации.
На стороне сервера:
в файле конфигурации сервера /etc/ssh/sshd_config раскомментировать строчки SyslogFacility и LogLevel, заменить уровень отладки INFO на DEBUG
SyslogFacility AUTH
LogLevel DEBUG
После внесения изменений перезапустить сервер:
При выполнении подключения использовать опцию -v для вывода отладочной информации:
debug1: kex: client->server cipher: grasshopper-ctr MAC: hmac-gost2012-256-etm compression: none