все заработало как надо, за исключением того, что я все также могу логиниться и по обычному password (если на клиенте не настроены ключи). А нужно чтобы сервер пропускал
по ключу...
# Номер порта и версия протокола
Port 23
Protocol 2
# Адреса, на которых слушает сервер, можно также указывать
# порт (server.test.ru:2022), но назначение ssh нестандартного порта
# нецелесообразно, т.к. заинтересует потенциальных взломщиков("А чего это там
# они прячут?")
#ListenAddress 192.168.0.
# Ключ сервера для протокола версии 1
HostKey /etc/ssh/ssh_host_key
# Ключи rsa и dsa для ssh версии 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
# Данные значения определяют длину ключа сервера и его время жизни для
# использования ssh версии 1(данный ключ будет заново генерироваться через
# заданное время)
#KeyRegenerationInterval 3600
#ServerKeyBits 768
# Далее определяем методы аутентификации для данного сервера и ее параметры
# Сервер отсоединяется по происшествии данного времени в секундах, если клиент
# не проходит аутентификацию
LoginGraceTime 600
# Разрешаем заходить по ssh руту. Долгое время эта тема обсуждалась на форуме,
# но я думаю все же, что со внутренней сети рут может заходить и по ssh (для
# этого надо настроить должным образом iptables). Также можно запретить руту
# входить по паролю: without-password, разрешая вход только по публичному ключу
PermitRootLogin without-password
# Проверка sshd прав доступа и владельцев домашних каталогов. Полезно для тех
# пользователей, что дают права всему 0777. Хотя таких болванов лучше держать на
# расстоянии от сервера(лучше всего это делать бревном, подвешенным в серверной
# к потолку, чтобы придать нежеланному гостю должное ускорение, и не забудьте
# оббить конец бревна какой-нибудь железкой, иначе бревна придется менять
# слишком часто ;)
StrictModes yes
# Аутентификация через RSA (версия 1)
RSAAuthentication yes
# Аутентификация пользователя по ключу (версия 2)
PubkeyAuthentication yes
# Определяет публичный ключ пользователя для аутентификации по ключу. Можно
# применять шаблоны: %u - имя пользователя, %h - домашний каталог пользователя.
AuthorizedKeysFile %h/.ssh/authorized_keys
# Не используем аутентификацию rhosts
RhostsAuthentication no
# Можно также игнорировать rhosts и shosts при hostbased autentification,
# используя только known_hosts файл.
IgnoreRhosts yes
# Используем ли аутентификацию через known_hosts совместно с .rhosts или
# .shosts. Опция действительна только для протокола версии 1.
RhostsRSAAuthentication no
# То же самое, что и предыдущее только для версии 2
HostbasedAuthentication no
# Если нет доверия к known_hosts, то их можно не использовать при hostbased
# autentification. По умолчанию no
IgnoreUserKnownHosts no
UseLogin no
#IgnoreHosts yes
# Чтобы запретить посылку хешей паролей через туннель ssh задайте значение
# данной опции no. По умолчанию аутентификация по паролю разрешена
PasswordAuthentication no
# Можно также разрешить пустые пароли, но это полный отстой, т.к. это огромная
# дыра на сервере, через которую можно наделать много гадостей! Поэтому должно
# быть no (по умолчанию)
PermitEmptyPasswords no
# Аутентификация через механизм PAM.
#PAMAuthenticationViaKbdInt no
# Передача протокола иксов через туннель ssh
X11Forwarding yes
# Используем в качестве x-сервера данный, т.е. клиент, запуская у себя x-клиента
# будет фактически использовать наш сервер, но все данные от сервера к клиенту
# будут шифроваться, что есть хорошо!
X11UseLocalhost yes
# При логине пользователя выводим /etc/motd: в некоторых системах это отменено в
# целях безопасности
PrintMotd yes
# Сообщаем пользователю время и место последнего логина, ситуация, аналогичная
# предыдущей
PrintLastLog yes
# Посылать клиенту сообщения о доступности
KeepAlive yes
# Максимальное число возможных соединений, где не произошло аутентификации. Если
# клиентов, не прошедших аутентификацию больше, то новые соединения не будут
# обрабатываться
MaxStartups 10
# Путь к файлу, который будет отображаться при входе клиента ДО аутентификации
Banner /etc/ssh_message
# Проверка соответствия ip адреса клиента и его символического имени в backzone,
# затем снова сравнение имени с ip адресом. Таким образом (извращенным)
# проверяется подлинность ip, но метод этот достаточно тормозной и по умолчанию
# он отключен
VerifyReverseMapping no
# Новые системы, работающие через ssh. В данном примере определяется
# "безопасный" ftp сервер - sftp, аналогичный доступ пользователя, но с
# возможностью передачи файлов(т.е. пользователь получает доступ ко всем своим
# файлам и нет возможности настройки разрешений и виртуальных пользователей,
# как, например в proftpd). По сути дела подсистемы ssh могут обеспечивать
# прохождение других протоколов по сети, но под "крылышком" ssh. Например, для
# sftp сервера есть одноименный sftp клиент. Его интерфейс полностью идентичен
# оригинальному ftp, но с одним отличием: происходит та же самая аутентификация
# пользователя на удаленном сервере(методами ssh), но вместо оболочки с
# пользователем взаимодействует подсистема, в данном случае sftp.
Subsystem sftp /usr/lib/ssh/sftp-server
UsePAM yes