diff --git a/sshd_config b/sshd_config index fe499f7..bb2afc0 100644 --- a/sshd_config +++ b/sshd_config @@ -1,105 +1,276 @@ - - -#=========================================================================================== -#Include /etc/ssh/sshd_config.d/*.conf -#Port 22 -PermitRootLogin prohibit-password -PubkeyAuthentication yes -AuthorizedKeysFile .ssh/authorized_keys -#PermitEmptyPasswords no -PasswordAuthentication no -#=========================================================================================== - -#AddressFamily any -#ListenAddress 0.0.0.0 -#ListenAddress :: - -#HostKey /etc/ssh/ssh_host_rsa_key -#HostKey /etc/ssh/ssh_host_ecdsa_key -#HostKey /etc/ssh/ssh_host_ed25519_key - -# Ciphers and keying -#RekeyLimit default none - -# Logging -#SyslogFacility AUTH -#LogLevel INFO - -# Authentication: - -#LoginGraceTime 2m -#StrictModes yes -#MaxAuthTries 6 -#MaxSessions 10 - - -# Expect .ssh/authorized_keys2 to be disregarded by default in future. - -#AuthorizedPrincipalsFile none - -#AuthorizedKeysCommand none -#AuthorizedKeysCommandUser nobody - -# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts -#HostbasedAuthentication no -# Change to yes if you don't trust ~/.ssh/known_hosts for -# HostbasedAuthentication -#IgnoreUserKnownHosts no -# Don't read the user's ~/.rhosts and ~/.shosts files -#IgnoreRhosts yes - - -# Change to yes to enable challenge-response passwords (beware issues with -# some PAM modules and threads) -KbdInteractiveAuthentication no - -# Kerberos options -#KerberosAuthentication no -#KerberosOrLocalPasswd yes -#KerberosTicketCleanup yes -#KerberosGetAFSToken no - -# GSSAPI options -#GSSAPIAuthentication no -#GSSAPICleanupCredentials yes -#GSSAPIStrictAcceptorCheck yes -#GSSAPIKeyExchange no - -UsePAM yes - -#AllowAgentForwarding yes -#AllowTcpForwarding yes -#GatewayPorts no -X11Forwarding yes -#X11DisplayOffset 10 -#X11UseLocalhost yes -#PermitTTY yes -PrintMotd no -#PrintLastLog yes -#TCPKeepAlive yes -#PermitUserEnvironment no -#Compression delayed -#ClientAliveInterval 0 -#ClientAliveCountMax 3 -#UseDNS no -#PidFile /run/sshd.pid -#MaxStartups 10:30:100 -#PermitTunnel no -#ChrootDirectory none -#VersionAddendum none - -# no default banner path -#Banner none - -# Allow client to pass locale environment variables -AcceptEnv LANG LC_* - -# override default of no subsystems -Subsystem sftp /usr/lib/openssh/sftp-server - -# Example of overriding settings on a per-user basis -#Match User anoncvs -# X11Forwarding no -# AllowTcpForwarding no -# PermitTTY no -# ForceCommand cvs server \ No newline at end of file +# ============================================================================= +# OPENSSH SERVER CONFIG +# Основные настройки SSH +# ============================================================================= + +# ----------------------------------------------------------------------------- +# ВАЖНЫЕ НАСТРОЙКИ +# ----------------------------------------------------------------------------- + +# Порт SSH +# Если меняете порт, не забудьте открыть его в firewall +#Port 22 + +# Разрешить аутентификацию по SSH-ключам +PubkeyAuthentication yes + +# Файл(ы) с разрешёнными публичными ключами пользователя +AuthorizedKeysFile .ssh/authorized_keys + +# Запретить пустые пароли +PermitEmptyPasswords yes + +# Запретить вход по обычному паролю +PasswordAuthentication yes + +# Разрешить challenge-response аутентификацию +ChallengeResponseAuthentication yes + +# Разрешить интерактивную клавиатурную аутентификацию через PAM +KbdInteractiveAuthentication yes + +# Запретить прямой вход под root +PermitRootLogin yes + +# Использовать 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