Я прочитал несколько сообщений об ограничении ВСЕХ пользователей ТОЛЬКО аутентификацией по ключу, однако я хочу принудительно использовать только одного пользователя (svn) только для аутентификации по ключу, остальные могут быть ключом или паролем.
Я читаю https://stackoverflow.com/questions/4241197/how-to-disable-password-authentication-for-every-users-except-several, однако, похоже, что часть sshd_config "сопоставить пользователя" является частью openssh-5.1. Я использую CentOS 5.6 и только OpenSSH 4.3. В настоящий момент у меня доступны следующие репозитории.
$ yum repolist
Loaded plugins: fastestmirror
repo id repo name status
base CentOS-5 - Base enabled: 3,535
epel Extra Packages for Enterprise Linux 5 - x86_64 enabled: 6,510
extras CentOS-5 - Extras enabled: 299
ius IUS Community Packages for Enterprise Linux 5 - x86_64 enabled: 218
rpmforge RHEL 5 - RPMforge.net - dag enabled: 10,636
updates CentOS-5 - Updates enabled: 720
repolist: 21,918
Я в основном использую epel, до последней версии (1.6) subversion используется rpmforge.
Есть ли способ добиться этого при моих текущих настройках? Я не хочу ограничивать сервер ключами только потому, что, если я потеряю свой ключ, я потеряю свой сервер ;-)
Добавьте блок Match в файл sshd_config. Что-то вроде этого:
Match Group SSH_Key_Only_Users
PasswordAuthentication no
Или если это действительно один пользователь
Match User Bad_User
PasswordAuthentication no
Видеть man sshd_config
для получения более подробной информации о том, что вы можете сопоставить и какие ограничения вы можете установить.
Вы можете установить параметр PermitEmptyPasswords no
в твоем sshd
конфигурации и удалите пароли для некоторых пользователей, чтобы принудительно выполнить аутентификацию по ключу ssh.
Я только что на собственном опыте узнал, что CentOS 5 (с последними обновлениями на сегодняшний день) не поддерживает Соответствие команда, заблокировав себе доступ к удаленному серверу. Веселые времена.
Так что будьте осторожны, если вы попытаетесь добавить Соответствие команду на CE5, и вы делаете перезапуск службы sshd этого не будет, и как только вы закроете свой sshd-клиент, вы заблокируетесь, пока не сможете снова войти в систему через консоль, чтобы удалить эти 2 строки.