diff --git a/sshd_config b/sshd_config new file mode 100644 index 0000000..9b1097b --- /dev/null +++ b/sshd_config @@ -0,0 +1,276 @@ +# ============================================================================= +# OPENSSH SERVER CONFIG +# Основные настройки SSH +# ============================================================================= + +# ----------------------------------------------------------------------------- +# ВАЖНЫЕ НАСТРОЙКИ +# ----------------------------------------------------------------------------- + +# Порт SSH +# Если меняете порт, не забудьте открыть его в firewall +#Port 22 + +# Разрешить аутентификацию по SSH-ключам +PubkeyAuthentication yes + +# Файл(ы) с разрешёнными публичными ключами пользователя +AuthorizedKeysFile .ssh/authorized_keys + +# Запретить пустые пароли +PermitEmptyPasswords yes + +# Запретить вход по обычному паролю +PasswordAuthentication no + +# Разрешить challenge-response аутентификацию +ChallengeResponseAuthentication no + +# Разрешить интерактивную клавиатурную аутентификацию через PAM +KbdInteractiveAuthentication no + +# Запретить прямой вход под root +PermitRootLogin prohibit-password + +# Использовать PAM для аутентификации и управления сессиями +UsePAM yes + + +# ============================================================================= +# СЕТЕВЫЕ НАСТРОЙКИ +# ============================================================================= + +# Используемое семейство адресов: any, inet или inet6 +#AddressFamily any + +# IPv4-адрес для прослушивания SSH +#ListenAddress 0.0.0.0 + +# IPv6-адрес для прослушивания SSH +#ListenAddress :: + + +# ============================================================================= +# HOST KEYS +# ============================================================================= + +# Приватные ключи SSH-сервера +# Обычно определяются автоматически, если не указаны явно + +#HostKey /etc/ssh/ssh_host_rsa_key +#HostKey /etc/ssh/ssh_host_ecdsa_key +#HostKey /etc/ssh/ssh_host_ed25519_key + + +# ============================================================================= +# ШИФРОВАНИЕ И КЛЮЧИ +# ============================================================================= + +# Лимит объёма данных и времени до повторного создания ключей сеанса +#RekeyLimit default none + + +# ============================================================================= +# ЛОГИРОВАНИЕ +# ============================================================================= + +# Системная подсистема для записи логов SSH +#SyslogFacility AUTH + +# Уровень детализации логов +# Возможные значения: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG +#LogLevel INFO + + +# ============================================================================= +# АУТЕНТИФИКАЦИЯ +# ============================================================================= + +# Время, отведённое пользователю на успешную аутентификацию +#LoginGraceTime 2m + +# Проверять права доступа к домашнему каталогу и SSH-файлам пользователя +#StrictModes yes + +# Максимальное количество попыток входа за одно подключение +#MaxAuthTries 6 + +# Максимальное количество одновременных SSH-сессий +#MaxSessions 10 + +# Дополнительный файл с публичными ключами. +# Устаревший формат authorized_keys2 обычно игнорируется. +#AuthorizedPrincipalsFile none + +# Внешняя команда для получения публичных SSH-ключей +#AuthorizedKeysCommand none + +# Пользователь, от имени которого запускается AuthorizedKeysCommand +#AuthorizedKeysCommandUser nobody + + +# ============================================================================= +# HOST-BASED АУТЕНТИФИКАЦИЯ +# ============================================================================= + +# Разрешить аутентификацию на основе доверенных хостов +#HostbasedAuthentication no + +# Игнорировать пользовательский файл ~/.ssh/known_hosts +#IgnoreUserKnownHosts no + +# Не использовать устаревшие файлы ~/.rhosts и ~/.shosts +#IgnoreRhosts yes + + +# ============================================================================= +# KERBEROS +# ============================================================================= + +# Использовать аутентификацию Kerberos +#KerberosAuthentication no + +# Использовать локальный пароль, если Kerberos недоступен +#KerberosOrLocalPasswd yes + +# Удалять Kerberos ticket после завершения сессии +#KerberosTicketCleanup yes + +# Получать AFS token +#KerberosGetAFSToken no + + +# ============================================================================= +# GSSAPI +# ============================================================================= + +# Использовать GSSAPI-аутентификацию +#GSSAPIAuthentication no + +# Удалять credentials GSSAPI после завершения сессии +#GSSAPICleanupCredentials yes + +# Выполнять строгую проверку принимающей стороны +#GSSAPIStrictAcceptorCheck yes + +# Разрешить обмен ключами через GSSAPI +#GSSAPIKeyExchange no + + +# ============================================================================= +# ПЕРЕНАПРАВЛЕНИЯ И СЕССИИ +# ============================================================================= + +# Разрешить перенаправление SSH-agent +#AllowAgentForwarding yes + +# Разрешить TCP port forwarding +#AllowTcpForwarding yes + +# Разрешить удалённым клиентам использовать forwarded-порты извне +#GatewayPorts no + +# Разрешить X11 forwarding +X11Forwarding yes + +# Смещение номера X11 display +#X11DisplayOffset 10 + +# Использовать localhost для X11 forwarding +#X11UseLocalhost yes + +# Разрешить выделение псевдотерминала +#PermitTTY yes + + +# ============================================================================= +# ИНФОРМАЦИЯ ПРИ ВХОДЕ +# ============================================================================= + +# Не выводить системное сообщение MOTD через sshd +# В Ubuntu обычно MOTD управляется PAM +PrintMotd no + +# Показывать информацию о последнем входе пользователя +#PrintLastLog yes + + +# ============================================================================= +# СОЕДИНЕНИЕ И KEEPALIVE +# ============================================================================= + +# Использовать TCP KeepAlive +#TCPKeepAlive yes + +# Интервал проверки активности клиента сервером +#ClientAliveInterval 0 + +# Количество пропущенных проверок до отключения клиента +#ClientAliveCountMax 3 + + +# ============================================================================= +# ДОПОЛНИТЕЛЬНЫЕ НАСТРОЙКИ +# ============================================================================= + +# Разрешить пользователю передавать переменные окружения +#PermitUserEnvironment no + +# Использовать сжатие данных +#Compression delayed + +# Использовать DNS lookup для подключающихся клиентов +#UseDNS no + +# PID-файл SSH-сервера +#PidFile /run/sshd.pid + +# Ограничение количества одновременных неаутентифицированных подключений +# Формат: начало:вероятность:максимум +#MaxStartups 10:30:100 + +# Разрешить создание SSH tunnel-интерфейсов +#PermitTunnel no + +# Chroot-каталог для пользователей +#ChrootDirectory none + +# Дополнительная информация о версии SSH-сервера +#VersionAddendum none + + +# ============================================================================= +# BANNER +# ============================================================================= + +# Баннер, отображаемый перед аутентификацией +#Banner none + + +# ============================================================================= +# ПЕРЕМЕННЫЕ ОКРУЖЕНИЯ +# ============================================================================= + +# Разрешить передачу локали от SSH-клиента +AcceptEnv LANG LC_* + + +# ============================================================================= +# SFTP +# ============================================================================= + +# Подсистема SFTP +Subsystem sftp /usr/lib/openssh/sftp-server + + +# ============================================================================= +# НАСТРОЙКИ ДЛЯ ОТДЕЛЬНЫХ ПОЛЬЗОВАТЕЛЕЙ +# ============================================================================= + +# Пример применения отдельных правил к конкретному пользователю: +# +#Match User anoncvs +# X11Forwarding no +# AllowTcpForwarding no +# PermitTTY no +# ForceCommand cvs server