Sshd

Материал из sysadm
Перейти к навигации Перейти к поиску

Управление ssh сессиями

# список сессий пользователей (права root не нужны)
who -u
 alexey    pts/15        2022-09-09 09:41   .         31715 (192.168.0.21)
 dmitriy   pts/4         2022-09-09 11:12 00:04        4465 (192.168.0.27)

# сообщение пользователю (права root не нужны)
echo "Hello" | write alexey pts/15

# завершение сессии (нужны права root)
kill -HUP <pid>

Конфигурация sshd

файл конфигурации

/etc/ssh/sshd_config

перенаправление графики при выключенном IPv6

По умолчанию, перенаправление графики работает через локальный хост IPv6. Поэтому при отключении IPv6 перенаправление графики может перестать работать. Чтобы это исправить, необходимо указать, чтобы sshd использовал только IPv4.

AddressFamily inet

Аутентификация и авторизация

# разрешить подключение для root
PermitRootLogin yes | no | prohibit-password

#  yes               - разрешает подключение root любым доступным способом
#  no                - запрещает подключение root независимо от способа, в том числе с использованием ключа или сертификата
#  prohibit-password - разрешает подключение root любым доступным способом кроме пароля
#                      в старых версиях вместо prohibit-password могут использоваться without-password или forced-commands-only

# разрешить режим запрос/ответ 
# полностью передает управление аутентификацией PAM модулям
# при не верной конфигурации PAM может разрешить обход других ограничений, например PermitRootLogin prohibit-password
# необходим для keyboard-interactive методов, таких как одноразовые пароли OTP и мультифактор
# значение по умолчанию yes
ChallengeResponseAuthentication yes | no

# использование PAM для аутентификации
# в дистрибутивах на базе RHEL значение "no" не поддерживается
UsePAM yes | no

# разрешение аутентификации по паролю
PasswordAuthentication yes | no

Match блоки, необходимо располагать в конце файла, т.к. концом Match блока является либо другой Match блок, либо конец файла

# deny ashley connect from any IP except 203.0.113.1,203.0.113.2
Match User ashley Address *,!203.0.113.1,!203.0.113.2
  DenyUsers ashley

# allow ashley connect only from 203.0.113.1, 203.0.113.2
Match User ashley
  AllowUsers ashley@203.0.113.1
  AllowUsers ashley@203.0.113.2

# запрет на создание ssh туннелей
Match ...  
  AllowAgentForwarding no
  AllowTcpForwarding no
  PermitTunnel no

# запрещать sftp, scp не имеет смысла, т.к. можно обойтись и без них
cat localfile | ssh somehost "cat > /somedir/remotefile"
ssh somehost "cat /somedir/remotefile" > localfile