Удаленное управление по протоколу SSH#

Обзор#

SSH — сетевой протокол прикладного уровня для организации удаленного и безопасного соединения между клиентом и сервером.

Соединение по SSH позволяет безопасно подключаться к маршрутизатору Факел, управлять системой, удаленно выполнять команды, прокладывать TCP-туннели для передачи данных и т.д.

Перед установлением SSH-соединения клиент и сервер связываются по протоколу TCP и договариваются о том, какие алгоритмы будут использоваться для шифрования связи, обмена SSH-ключами и т.п.

Далее запускается процесс обмена SSH-ключами. В результате клиент получает закрытый ключ, а сервер — открытый. Для установления SSH-соединения необходимо, чтобы открытый ключ соответствовал закрытому. После того как клиент и сервер успешно обменялись ключами, SSH-сессия готова к запуску.

После установления SSH-соединения администратор сможет настроить метод аутентификации. Доступна аутентификация по паролю, по ключевой паре или по IP-адресу (не рекомендуется).

По умолчанию для подключения и передачи файлов по SSH используется TCP-порт 22. При настройке SSH-службы администратор может изменить номер TCP-порта на любой другой.

Пример настройки#

Шаг

Команда

Описание

1

set service ssh port 2022

Задает порт 2022, на котором будет работать служба SSH.

2

set service ssh listen-address 192.168.100.2

Задает IP-адрес 192.168.100.2, на котором будет прослушиваться работа SSH-сервера.

3

set service ssh access-control allow user new_user

Назначает пользователя new_user, которому будет разрешен удаленный доступ по протоколу SSH.

4

set system login user new_user authentication plaintext-password

Устанавливает метод аутентификации по паролю для пользователя new_user.

Список команд#


Режим «Конфигурирование»#


service ssh port <port>#

Описание:
Задает порт, на котором будет работать служба SSH.

Синтаксис:

  • set service ssh port <port>

  • delete service ssh port <port>

  • show service ssh port

Аргументы:

  • <port> — номер порта, на котором будет работать служба SSH. Формат: целое число. Диапазон значений: от 1001 до 65535.

Режим: «Конфигурирование».


service ssh listen-address <address>#

Описание:
Задает IP-адрес, на котором будет прослушиваться работа SSH-сервера.

Синтаксис:

  • set service ssh listen-address <address>

  • delete service ssh listen-address <address>

  • show service ssh listen-address

Аргументы:

  • <address> — IP-адрес, на котором будет прослушиваться работа SSH-сервера. Можно задать несколько значений.

Режим: «Конфигурирование».


service ssh ciphers <cipher>#

Описание:
Устанавливает алгоритм шифрования SSH-соединения.

Синтаксис:

  • set service ssh ciphers <cipher>

  • delete service ssh ciphers <cipher>

  • show service ssh ciphers

Аргументы:

  • <cipher> — алгоритм шифрования SSH-соединения. Можно задать несколько значений.

    Поддерживаемые значения: 3des-cbc, aes128-cbc, aes192-cbc, aes256-cbc, aes128-ctr, aes192-ctr, aes256-ctr, arcfour128, arcfour256, arcfour, blowfish-cbc, cast128-cbc

Режим: «Конфигурирование».


service ssh disable-password-authentication#

Описание:
Отключает аутентификацию на основе пароля. Пользователи cмогут установить SSH-соединение только с помощью SSH-ключа.

Синтаксис:

  • set service ssh disable-password-authentication

  • delete service ssh disable-password-authentication

  • show service ssh

Режим: «Конфигурирование».


service ssh disable-host-validation#

Описание:
Отключает проверку хоста через обратный DNS-запрос.

Синтаксис:

  • set service ssh disable-host-validation

  • delete service ssh disable-host-validation

  • show service ssh

Режим: «Конфигурирование».

Совет

Если проверка через обратный запрос недоступна, отключите проверку хоста. Это ускорит время входа в систему.


service ssh mac <mac>#

Описание:
Устанавливает MAC-алгоритм, чтобы защитить целостность данных при передаче по протоколу SSH.

Синтаксис:

  • set service ssh macs <mac>

  • delete service ssh macs <mac>

  • show service ssh macs

Аргументы:

  • <mac> — тип MAC-алгоритма. Можно задать несколько значений.

    Поддерживаемые значения: hmac-md5, hmac-md5-96, hmac-ripemd160, hmac-sha1, hmac-sha1-96, hmac-sha2-256, hmac-sha2-512, umac-64@openssh.com, umac-128@openssh.com, hmac-md5-etm@openssh.com, hmac-md5-96-etm@openssh.com, hmac-ripemd160-etm@openssh.com, hmac-sha1-etm@openssh.com, hmac-sha1-96-etm@openssh.com, hmac-sha2-256-etm@openssh.com, hmac-sha2-512-etm@openssh.com, umac-64-etm@openssh.com, umac-128-etm@openssh.com

Режим: «Конфигурирование».


service ssh access-control <allow | deny> <group | user> <name>#

Описание:
Разрешает или запрещает пользователю или группе пользователей подключаться удаленно по протоколу SSH.

Синтаксис:

  • set service ssh access-control <allow | deny> <group | user> <name>

  • delete service ssh access-control <allow | deny> <group | user> <name>

  • show service ssh access-control

Аргументы:

  • <allow> — разрешает пользователю или группе пользователей удаленно подключаться по SSH;

  • <deny> — запрещает пользователю или группе пользователе удаленно подключаться по SSH;

  • <group> — название группы пользователей;

  • <user> — имя пользователя.

Режим: «Конфигурирование».


service ssh client-keepalive-interval <interval>#

Описание:
Задает интервал отправки keepalive-сообщений от сервера к клиенту.

Синтаксис:

  • set service ssh client-keepalive-interval <interval>

  • delete service ssh client-keepalive-interval <interval>

  • show service ssh client-keepalive-interval

Аргументы:

  • <interval> — интервал между отправкой keepalive-сообщений. Формат: секунды.

Режим: «Конфигурирование».


service ssh key-exchange <kex>#

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

Синтаксис:

  • set service ssh key-exchange <kex>

  • delete service ssh key-exchange <kex>

  • show service ssh key-exchange

Аргументы:

  • <kex> — тип алгоритма для обмена ключами.

    Поддерживаемые значения: diffie-hellman-group1-sha1, diffie-hellman-group14-sha1, diffie-hellman-group14-sha256, diffie-hellman-group16-sha512, diffie-hellman-group18-sha512, diffie-hellman-group-exchange-sha1, diffie-hellman-group-exchange-sha256, ecdh-sha2-nistp256, ecdh-sha2-nistp384, ecdh-sha2-nistp521, curve25519-sha256, curve25519-sha256@libssh.org

Режим: «Конфигурирование».


service ssh loglevel <quiet | fatal | error | info | verbose>#

Описание:
Задает уровень журналирования для службы SSHD.

Синтаксис:

  • set service ssh loglevel <quiet | fatal | error | info | verbose>

  • delete service ssh loglevel <quiet | fatal | error | info | verbose>

  • show service ssh loglevel

Аргументы:

  • <quiet> — никакие записи из журнала регистрации событий не будут отображаться;

  • <fatal> — будут отображаться только критические ошибки из журнала регистрации событий;

  • <error> — будут отображаться только средние и критические ошибки из журнала регистрации событий;

  • <info> — будут отображаться все записи из журнала регистрации событий. Значение по умолчанию;

  • <verbose> — будут отображаться только записи неудачных попыток входа в систему.

Режим: «Конфигурирование».


service ssh vrf <name>#

Описание:
Устанавливает службу SSH на VRF-экземпляр.

Синтаксис:

  • set service ssh vrf <name>

  • delete service ssh vrf <name>

  • show service ssh vrf

Аргументы:

  • <name> — имя VRF-экземпляра.

Режим: «Конфигурирование».


service ssh pubkey-accepted-algorithm <name>#

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

Синтаксис:

  • set service ssh pubkey-accepted-algorithm <name>

  • delete service ssh pubkey-accepted-algorithm <name>

  • show service ssh pubkey-accepted-algorithm

Аргументы:

  • <name> — тип подписного алгоритма.

    Поддерживаемые значения: ssh-ed25519, ssh-ed25519-cert-v01@openssh.com, sk-ssh-ed25519@openssh.com, sk-ssh-ed25519-cert-v01@openssh.com, ecdsa-sha2-nistp256, ecdsa-sha2-nistp256-cert-v01@openssh.com, ecdsa-sha2-nistp384, ecdsa-sha2-nistp384-cert-v01@openssh.com, ecdsa-sha2-nistp521, ecdsa-sha2-nistp521-cert-v01@openssh.com, sk-ecdsa-sha2-nistp256@openssh.com, sk-ecdsa-sha2-nistp256-cert-v01@openssh.com, webauthn-sk-ecdsa-sha2-nistp256@openssh.com, ssh-dss, ssh-dss-cert-v01@openssh.com, ssh-rsa, ssh-rsa-cert-v01@openssh.com, rsa-sha2-256, rsa-sha2-256-cert-v01@openssh.com, rsa-sha2-512,  rsa-sha2-512-cert-v01@openssh.com

Режим: «Конфигурирование».


service ssh dynamic-protection#

Описание:
Включает динамическую защиту SSH-соединения.

Синтаксис:

  • set service ssh dynamic protection

  • delete service ssh dynamic protection

  • show service ssh dynamic protection

Режим: «Конфигурирование».


service ssh dynamic-protection allow-from <address | prefix>#

Описание:
Задает список IP-адресов и сетей, которым всегда будет разрешен доступ к SSH-серверу.

Синтаксис:

  • set service ssh dynamic-protection allow-from <address | prefix>

  • delete service ssh dynamic-protection allow-from <address | prefix>

  • show service ssh dynamic-protection allow-from

Аргументы:

  • <address> — IP-адрес;

  • <prefix> — префикс сети.

Режим: «Конфигурирование».


service ssh dynamic-protection block-time <sec>#

Описание:
Блокирует IP-адрес источника на заданное время.

Синтаксис:

  • set service ssh dynamic protection block-time <sec>

  • delete service ssh dynamic protection block-time <sec>

  • show service ssh dynamic protection block-time

Аргументы:

  • <sec> — время блокировки IP-адреса источника. Формат: секунды. Значение по умолчанию: 120 секунд. Время каждой последующей блокировки увеличивается в 1,5 раза.

Режим: «Конфигурирование».


service ssh dynamic-protection detect-time <sec>#

Описание:
Запоминает IP-адрес источника на заданное время перед сбросом его оценки.

Синтаксис:

  • set service ssh dynamic-protection detect-time <sec>

  • delete service ssh dynamic-protection detect-time <sec>

  • show service ssh dynamic-protection detect-time

Аргументы:

  • <sec> — время запоминания IP-адреса источника. Формат: секунды. Значение по умолчанию: 1800 секунд.

Режим: «Конфигурирование».


service ssh dynamic-protection threshold <sec>#

Описание:
Блокирует IP-адрес источника на заданное время, когда совокупное количество атак превышает порог.

Синтаксис:

  • set service ssh dynamic-protection threshold <sec>

  • delete service ssh dynamic-protection threshold <sec>

  • show service ssh dynamic-protection threshold

Аргументы:

  • <sec> — время блокировки IP-адрес источника. Формат: секунды. Значение по умолчанию: 30 секунд.

Режим: «Конфигурирование».


Режим «Администрирование»#


restart ssh#

Описание:
Перезапускает службу SSHD в фоновом режиме. Не влияет на активную сессию.

Режим: «Администрирование».

Уровень привилегий: «Администратор».


generate ssh server-key#

Описание:
Заново генерирует фрагменты открытого и закрытого SSH-ключей.

Режим: «Администрирование».

Уровень привилегий: «Администратор».

Важно

После выполнения команды обновите файлы known_hosts в клиенте, поскольку команда сгенерирует новый открытый SSH-ключ.


generate ssh client-key /path/to/private_key#

Описание:
Генерирует новую пару открытого и закрытого SSH-ключей и записывает их значения в указанный файл. Если ключи с таким именем уже созданы, то они будут перезаписаны ключами с новыми значениями.

Аргументы:

  • /path/to/private_key — путь к директории, в которую будут сохранены файлы открытого и закрытого SSH-ключей.

Режим: «Администрирование».

Уровень привилегий: «Администратор».


generate public-key-command user <username> path <location>#

Описание:
Генерирует команды, которые позволят использовать открытый SSH-ключ со встроенной аутентификацией. Первой сгенерированной командой будет configure, поскольку для выполнения остальных сгенерированных команд потребуется вход в режим «Конфигурирование».

Аргументы:

  • <username> — имя пользователя;

  • <location> — адрес, по которому будет сохранен открытый SSH-ключ. Может быть как локальной директорией, так и URL-адресом. Поддерживаемые протоколы: FTP, FTPS, HTTP, HTTPS, SCP/SFTP, TFTP.

Режим: «Администрирование».

Уровень привилегий: «Администратор».


show log ssh#

Описание:
Отображает записи журнала регистрации событий на SSH-сервере.

Режим: «Администрирование».

Уровень привилегий: «Администратор».


monitor log ssh#

Описание:
Следит за появлением новых записей в журнале регистрации событий на SSH-сервере.

Режим: «Администрирование».

Уровень привилегий: «Администратор».


show log ssh dynamic-protection#

Описание:
Отображает записи журнала регистрации событий для SSH-соединения с динамической защитой.

Режим: «Администрирование».

Уровень привилегий: «Администратор».


monitor log ssh dynamic-protection#

Описание:
Следит за появлением новых записей в журнале регистрации событий для SSH-соединения с динамической защитой.

Режим: «Администрирование».

Уровень привилегий: «Администратор».


show ssh dynamic-protection#

Описание:
Отображает список IP-адресов, которые в настоящий момент заблокированы динамической защитой SSH-соединения.

Режим: «Администрирование».

Уровень привилегий: «Администратор».


show ssh fingerprints#

Описание:
Отображает отпечаток открытого SSH-ключа для SSH-сервера.

Режим: «Администрирование».

Уровень привилегий: «Администратор».


show ssh fingertips ascii#

Описание:
Отображает отпечаток и ASCII-графику открытого SSH-ключа для SSH-сервера.

Режим: «Администрирование».

Уровень привилегий: «Администратор».