Linux - Алексей Стахнов
Шрифт:
Интервал:
Закладка:
Файл sshd_config
Файл sshd_config задает параметры SSH-серверу и может содержать внушительный список различных параметров. Ниже приведены его основные конфигурационные параметры:
• AllowGroups список-имен-групп-через-пробел – вход разрешен только пользователям, чья группа входит в этот список;
• AllowTcpForwarding yes/no – разрешает или запрещает TCP Forwarding:
• AllowUsers список-имен-через-пробел – вход разрешен только перечисленным пользователям;
• AuthorizedKeysFile имя-файла-с-публичным ключом – задает имя файла, содержащее публичный ключ;
• Banner сообщение-перед-аутентификацией – текст сообщения, выводимого сервером перед аутентификацией клиента;
• ciphers – список алгоритмов симметричного шифрования для SSH2: aes128-cbc, 3des-cbc, blowfish-cbc, cast128-cbc, arcfour;
• clientAllveinterval секунд – определяет интервал в секундах, через который сервер будет производить проверку, произошло или нет отключение клиента;
• GiientAllveCountMax число – данный параметр определяет число неудачных проверок существования связи с пользователем до разрыва сессии;
• DenyGroups список-имен-групп-через-пробел – определяет список групп пользователей, которым запрещено устанавливать соединение с сервером;
• DenyUsers список-имен-через-пробел – определяет список пользователей, которым запрещено устанавливать соединение с сервером;
• GatewayPorts no/yes – данный параметр определяет, разрешать или нет удаленным хостам доступ к перенаправленным портам;
• HostbasedAuthentication no/yes – разрешить или запретить аутентификацию, используя имя хоста (только для SSH2);
• HostKey имя-файла-содержащего-приватный-ключ – с помощью данного параметра можно указать серверу, где расположен файл, содержащий секретный ключ шифрования;
• IgnoreRhosts yes/no – этот параметр позволяет определить, использовать или нет файлы. rhosts и. shosts для аутентификации. Для увеличения безопасности системы рекомендуется запретить использование этих файлов;
• IgnoreUserKnownHosts no/yes – параметр позволяет запретить использование файла ~/.ssh/known_hosts во время аутентификации rhosts+RSA;
• KeepAllve yes/по – параметр позволяет использовать механизм регулярных сообщений для проверки разрыва связи;
• KerberosAuthentication yes/no – параметр позволяет запретить использование kerberos при аутентификации;
• KerberosOrLocaiPasswd yes/no – в том случае, если аутентификация через kerberos не прошла, данный параметр позволяет использовать /etc/passwd для аутентификации;
• KeyRegenerationintervai 3600 – параметр задает интервал регенерации ключа сервера;
• ListenAddress о.о.о. о – параметр определяет, к каким адресам прислушиваться; при использовании необходимо также определить параметр Port;
• LoginGraceTime секунд – данный параметр определяет, через сколько секунд произойдет разрыв соединения, если при аутентификации пользователь за это время не введет пароль;
• LogLevel info – параметр определяет, какой уровень использовать при создании сообщений в журнал системы. Можно использовать следующие уровни – quiet, fatal, error, info, verbose, debug;
• MACs алгоритмы-проверки-целостности-данных – этот параметр определяет, какой алгоритм будет использоваться для проверки целостности данных – hmac-md5, hmac-shal, hmac-ripemdl60, hmac-shal-96, hmac-md5-96;
• MaxStartups 10 – данный параметр задает максимально возможное количество соединений, ожидающих аутентификации;
• PasswordAuthentication yes/no – параметр разрешает аутентификацию по паролю;
• PermitEmptyPasswords no/yes – параметр разрешает использование пустых паролей;
• PermitRootLogin yes/no/without-password/forced-commands-only – параметр разрешает пользователю root подключаться к серверу;
• PidFile имя-файла – параметр задает имя файла, в котором будет храниться PID процесса сервера;
• Port 22 – параметр определяет, какой порт слушает сервер;
• PrintMotd yes/no – параметр разрешает использование /etc/motd при входе пользователя в систему для выдачи сообщения;
• Protocol 2 – параметр определяет, с какой версией протокола работает сервер;
• PubkeyAuthentication yes/no – параметр разрешает использовать публичный ключ при аутентификации;
• ReverseMappingCheck no/yes – параметр разрешает после определения адреса по имени хоста производить проверку того, что обратная зона для этого адреса указывает на тот же самый хост;
• RhostsAuthentication no/yes – параметр разрешает аутентификацию только на основании файлов. rhosts или /etc/hosts.equiv;
• RhostsRSAAuthentication no/yes – параметр разрешает аутентификацию на основе .rhosts– и RSA-аутентификации;
• RSAAuthenticat ion yes/по – данный параметр используется только для протокола SSН1;
• ServerKeyBits 7 68 – данный параметр определяет длину ключа;
• StrictModes yes/по – параметр разрешает проверять права доступа к файлам с частными паролями при запуске;
• SysiogFaciiity auth – параметр задает тип сообщений, передаваемых на syslog: DAEMON, USER, AUTH, LOCALO, LOCAL1, L0CAL2, LOCAL3, L0CAL4, L0CAL5, LOCAL6, L0CAL7;
• UseLogin no/yes – параметр разрешает использовать login для интерактивных сессий;
• X11DispiayOffset 10 – параметр определяет первый доступный номер дисплея при передаче XII.
Файлы на сервере, используемые при входе SSH
При входе SSH на сервере используются следующие файлы:
• /etc/nologin – при наличии этого файла запрещается вход пользователей, кроме root. Содержимое файла выдается в качестве сообщения о причине;
• /etc/hosts.allow – при компиляции с libwrap используется для разрешения доступа;
• /etc/hosts.deny – при компиляции с libwrap используется для запрещения доступа;
• ~/.rhosts – файл содержит пары "хост—пользователь", разделенные пробелом. Для указанного пользователя с данного хоста разрешается заходить без ввода пароля при использовании RhostsAuthentication и RhostsRSAAuthentication. Также используется семейством r-команд;
• ~/.shosts – аналогично файлу. rhosts, но не используется семейством r-команд;
• /etc/hosts.equiv – список хостов, пользователи с которых могут заходить, не указывая паролей, под теми же самыми именами. За именем хоста можно указывать имя конкретного пользователя. Также используется семейством r-команд;
• /etc/shosts.equiv – аналогично файлу hosts.equiv, но не используется семейством r-команд;
• ~/.ssh/environment – содержит пары вида имя=значение, которые помещаются в окружение при входе.
Файлы ключей сервера
В качестве ключей сервера используются следующие файлы:
• /usr/local/etc/ssh_host_key – приватный ключ хоста;
• /usr/local/etc/ssh_host_rsa_key – приватный ключ хоста, алгоритм шифрования RSA;
• /usr/local/etc/ssh_host_dsa_key – приватный ключ хоста, алгоритм шифрования DSA;
• /usr/local/etc/ssh_host_key.pub – публичный ключ хоста;
• /usr/local/etc/ssh_host_rsa_key.pub – публичный ключ хоста, алгоритм шифрования RSA;
• /usr/local/etc/ssh_host_dsa_key.pub – публичный ключ хоста, алгоритм шифрования DSA.
Файл ssh_config
Файл предназначен для конфигурации SSH-клиента и разделен на секции директивами Host. Секция применяется при работе с хостом, удовлетворяющим шаблону секции:
• Host шаблоны – следующие опции применимы к хостам, подходящим под один из шаблонов; имя хоста берется из командной строки, в шаблонах используются символы * и ?;
• BatchMode no | yes – параметр разрешает не запрашивать пароль/ парольную фразу;
• CheckHostiP yes | no – позволяет дополнительно проверять адрес сервера в known_hosts;
• Cipher 3des | blowfish – этот и следующий параметры определяют алгоритм шифрования данных;
• Ciphers aesl28-cbc, 3des-cbc, blowfish-cbc, cast128-cbc, arcfour, aes!92-cbc, aes256-cbc;
• ClearAllForwardings no | yes – данный параметр позволяет сбросить все перенаправления портов;
• Compression no | yes – параметр разрешает производить сжатие передаваемых данных;
• CompressionLevel уровень-сжатия – параметр определяет уровень компрессии для протокола SSH1;
• ConnectionAttempts число-попыток-соединения – параметр задает ЧИСЛО попыток установления соединения;
• EscapeChar символ | ^символ|none – параметр позволяет определить символ для использования вместо тильды;
• FaiiBackToRsh no | yes – параметр разрешает использовать rsh в том случае, если сервер не имеет SSH-сервера;
• ForwardAgent no | yes – параметр определяет, передавать ли запрос к агенту аутентификации на удаленный хост;
• GatewayPorts no | yes – параметр разрешает удаленным хостам соединяться на перенаправленные локальные порты;
• GiobaiKnownHostsFile имя-файла – параметр разрешает использовать указанный файл вместо /usr/local/etc/ssh_known_hosts;
• HostKeyAigorithms ssh-rsa,ssh-dss – параметр определяет используемые алгоритмы шифрования (SSH2);
• IdentityFile имя-файла – параметр определяет файл, хранящий RSA– или DSA-приватный ключ;
• KeepAllve yes | no – параметр позволяет заметить разрыв связи или аварийное завершение на удаленном конце;
• KerberosAuthentication yes | по – параметр разрешает использовать kerberos-аугентификацию;
• LogLevel info – параметр определяет, какой уровень использовать при создании сообщений в журнал системы. Можно использовать следующие уровни – quiet, fatal, error, info, verbose, debug;
• MACs hmac-md5, hmac-shal, hmac-ripemdl60, hmac-shal-96, hmac-md5-96 – параметр определяет используемые алгоритмы для создания контрольной суммы;
• NumberOfPasswordPrompts 3 – параметр определяет количество попыток ввода пароля пользователя;
• PasswordAuthentication yes/no – параметр разрешает аутентификацию по паролю;
• Port 22 – параметр определяет, к какому порту будет подключаться клиент;