# ============================================================================= # 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