Я запускаю машину CentOS 6.5 удаленно через SSH. Я использую ключи RSA и отключил аутентификацию по паролю. Проблема, с которой я сталкиваюсь, заключается в том, что всякий раз, когда я добавляю нового пользователя и хочу, чтобы он / она входил в систему через SSH, им отказывают в доступе.
Сначала это казалось простой проблемой. Это то, что я уже пробовал:
Вот что я установил sshd_config
:
PermitRootLogin no
AllowUsers keving moman muser
И вот что мне говорит мой журнал:
Login attempted when not in AllowUsers list:
muser : 3 Time(s)
root : 127 Time(s)
Почему SSH не разрешает вход в систему, когда в списке AllowUsers явно указан muser? Есть ли другое место, где это можно было бы установить?
ОБНОВЛЕНИЕ: я попытался войти в эту учетную запись на моем компьютере после добавления моего ключа публикации в файл authorized_keys пользователя с подробным флагом -v
. Вот результаты (с поддельным IP-адресом и ключом хоста сервера по соображениям безопасности):
$ ssh -v mattm@111.111.111.111
OpenSSH_6.6.1, OpenSSL 1.0.1i 6 Aug 2014
debug1: Reading configuration data /c/Users/[user]/.ssh/config
debug1: Connecting to 111.111.111.111 [111.111.111.111] port 22.
debug1: Connection established.
debug1: identity file /c/Users/[user]/.ssh/id_rsa type 1
debug1: identity file /c/Users/[user]/.ssh/id_rsa-cert type -1
debug1: identity file /c/Users/[user]/.ssh/id_dsa type -1
debug1: identity file /c/Users/[user]/.ssh/id_dsa-cert type -1
debug1: identity file /c/Users/[user]/.ssh/id_ecdsa type -1
debug1: identity file /c/Users/[user]/.ssh/id_ecdsa-cert type -1
debug1: identity file /c/Users/[user]/.ssh/id_ed25519 type -1
debug1: identity file /c/Users/[user]/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6.1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH_5* compat 0x0c000000
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<3072<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Server host key: RSA [censored]
debug1: Host '111.111.111.111' is known and matches the RSA host key.
debug1: Found key in /c/Users/[user]/.ssh/known_hosts:4
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /c/Users/[user]/.ssh/id_rsa
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic
debug1: Trying private key: /c/Users/[user]/.ssh/id_dsa
debug1: Trying private key: /c/Users/[user]/.ssh/id_ecdsa
debug1: Trying private key: /c/Users/[user]/.ssh/id_ed25519
debug1: No more authentication methods to try.
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
Как предлагает @toppledwagon в комментариях к моему вопросу, я проверил /var/log/security
и, конечно же, была запись о плохих разрешениях на ~/.ssh/authorized_keys
дерево, включая домашний каталог.
После внесения этих изменений я смог войти в учетную запись пользователя через ssh с ключами RSA:
$ chmod g-w /home/your_user
$ chmod 700 /home/your_user/.ssh
$ chmod 600 /home/your_user/.ssh/authorized_keys
Ссылка: http://www.daveperrett.com/articles/2010/09/14/ssh-authentication-refused/
После настройки этих разрешений я смог войти в систему. Интересно отметить, что у меня был .ssh
режиссер и authorized_keys
файл уже установлен в 700
и 600
соответственно. По какой-то причине домашний каталог был установлен неправильно.
Спасибо всем, кто помогал в комментариях.
/etc/ssh/sshd_config
добавить группу вашего пользователя в AllowGroups
.service sshd restart