Назад | Перейти на главную страницу

Почему SSH требует, чтобы я разрешил мне войти в систему?

Я пытаюсь отключить вход по паролю на удаленном сервере Ubuntu, чтобы он был доступен только с помощью зашифрованного файла ключей (я не совсем понимаю терминологию).

Я последовал за эти инструкции, который казался ясным и прямым. Кажется, что все идет без ошибок, но когда я проверяю, что вход без пароля работает, я просто автоматически вхожу в систему.

В моем /etc/ssh/sshd_config файла, я убедился, что это настройки, и проверил их трижды:

RSAAuthentication yes
PubkeyAuthentication yes
ChallengeResponseAuthentication no
PasswordAuthentication no
UsePAM no

После этого я перезагружаю службу SSH (которая, как я полагаю, работает, но не уведомляет меня). Затем я выхожу из системы, временно перемещаю свой ключевой файл (согласно инструкциям) и снова вхожу в систему:

# service ssh reload
# exit
logout
Connection to ###.###.###.### closed.
$ mv ~/.ssh/id_rsa ~/.ssh/id_rsa.backup
$ ssh user@###.###.###.###
Last login: Wed May  9 07:19:47 2012 from place.place.place.tld
#

(# мой сервер и $ это моя локальная машина, конечно.)

Предположительно, после внесения правок в /etc/ssh/sshd_config, и после перемещения моего ~/.ssh/id_rsa файл, когда я вхожу в систему, мне должно быть отказано. Но я не. Я просто прохожу через парадную дверь, как будто это место принадлежит мне.

Где я ошибаюсь? Как убедиться, что я могу войти в систему только с помощью ключевого файла, а пароли не будут приняты?

Если вы запускаете ssh-agent, тогда ключи могут быть загружены в память, попробуйте что-то вроде этого;

 $ ssh-add -l
 1024 00:e1:3d:99:99:99:87:c9:99:ab:64:99:ee:6d:99:9e /home/user/.ssh/id_dsa (DSA)
 2048 fe999:99:ad:99:99:e6:d4:e3:10:99:ed:99:65:ab:25 /home/user/.ssh/id_rsa (RSA)

вы увидите, загружены ли какие-либо ключи. (они также появятся с ssh -v user@host команда предложена @David)

если вы найдете ssh-add -D чтобы очистить их.