Я пытаюсь отключить вход по паролю на удаленном сервере 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
чтобы очистить их.