Дерево страниц

Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 19 Следующий »


Данная статья применима к:

  • ОС СН Смоленск 1.6
  • ОС ОН Орёл 2.12

Установка пакета

Пакет SSH  входит в дистрибутивы ОС ОН Орёл 2.12 и ОС СН Смоленск 1.6, но по умолчанию устанавливается только клиент.

Установку сервера можно выполнить при инсталляции системы, отметив соответствующий пункт в диалоге выбора программного обеспечения,
либо после установки системы с помощью графического менеджера пакетов или из командной строки:

apt install ssh
После установки с помощью графического менеджера пакетов или из командной строки сервис запускается автоматически.

После установки при инсталляции ОС сервис ssh будет отключен, и его нужно будет включить и запустить отдельно командами:

systemctl enable ssh
systemctl start ssh

Настройка пакета

Проверить состояние сервиса:

systemctl status ssh
Конфигурация сервера хранится в файле /etc/ssh/sshd_config.

Чтобы изменения вступили в силу необходимо перезапустить сервис:

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).
#
# 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 устанавливается автоматически, при необходимости может быть установлен с помощью графического менеджера пакетов или из командной строки:

apt install sshfs
Для выполнения монтирования без запроса пароля  должна быть настроена авторизация по ключам (см. выше).

Команда монтирования:

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 с указанием точки монтирования:

umount /mnt
В случае ошибок монтирования для демонтирования может понадобиться отдельная команда:
fusermount -u /mnt

Использование алгоритмов защитного преобразования данных ГОСТ

Сервер и клиент ssh, входящие в состав дистрибутивов ОС ОН Орёл 2.12 и ОС СН Смоленск 1.6, имеют встроенную поддержку работы с алгоритмами защитного преобразования ГОСТ,
причем, если такие алгоритмы поддерживаются и клиентом и сервером, то они используются по умолчанию.
Некоторые подробности про эти алгоритмы можено прочитать в описании библиотеки libgost-astra.

Проверка используемого алгоритма защитного преобразования

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

На стороне сервера:
в файле конфигурации сервера  /etc/ssh/sshd_config раскомментировать строчки SyslogFacility и LogLevel, заменить уровень отладки INFO на DEBUG

# Logging
SyslogFacility AUTH
LogLevel INFO
LogLevel DEBUG

После внесения изменений перезапустить сервер:

systemctl restart ssh
Отладочная информация сервера ssh выводится в файл /var/log/auth.log, и отслеживать сообщения о методах защитного преобразования, используемых при подключении клиентов, можно командой:
tail -f | grep cipher /var/log/auth.log
На стороне клиента:
При выполнении подключения использовать опцию -v для вывода отладочной информации:


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





  • Нет меток