настройка SSH-доступа к локальному хосту

Я пытаюсь настроить ssh-доступ к своей локальной машине.

Я создал ключ id_rsa с помощью ssh-keygen. Я добавил id_rsa.pub к authroized_keys в .ssh/. Я убедился, что разрешение author_keys равно 640. Я включил аутентификацию с открытым ключом в sshd_config и перезапустил ssh.

Аутентификация RSA да

PubkeyAuthentication да

AuthorizedKeysFile %u/.ssh/authorized_keys

Однако я не могу войти в систему по ssh.

Ошибка, которую я получил, выглядит следующим образом

debug3: load_hostkeys: loaded 1 keys
debug1: Host 'localhost' is known and matches the ECDSA host key.
debug1: Found key in /home/rahul/.ssh/known_hosts:6
debug1: ssh_ecdsa_verify: signature correct
debug2: kex_derive_keys
debug2: set_newkeys: mode 1
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug2: set_newkeys: mode 0
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug2: service_accept: ssh-userauth
debug2: key: /home/rahul/.ssh/id_rsa (0x7fa12de58e70),
debug2: key: /home/rahul/.ssh/gitHubKey ((nil)), explicit
debug2: key: /home/rahul/.ssh/id_rsa_buhlServer (0x7fa12de59060), explicit
debug1: Authentications that can continue: publickey
debug3: start over, passed a different list publickey
debug3: preferred gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/rahul/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey
debug1: Trying private key: /home/rahul/.ssh/gitHubKey
no such identity: /home/rahul/.ssh/gitHubKey: No such file or directory
debug1: Offering RSA public key: /home/rahul/.ssh/id_rsa_buhlServer
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try.
Permission denied (publickey).

person Rahul Mehrotra    schedule 25.02.2015    source источник


Ответы (1)


Вы видели auth.log (или system.log, secure.log и т. д., где opensshd записывает свои журналы), возможно, проблема в том, что .ssh/authorized_keys должен иметь 600, а не 640.

Пример: https://help.ubuntu.com/community/SSH/OpenSSH/Keys< /а>

chmod go-w ~/
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Надеюсь, поможет.

Редактировать:

Мы удалим openssh-server и очистим файлы конфигурации:

(root)# apt-get remove --purge openssh-server

Теперь мы установим снова с настройками по умолчанию:

(root)# apt-get install openssh-server

Теперь мы сгенерируем наш закрытый/открытый ключ:

(rahul)$ ssh-keygen

Теперь скопируем ключ в нашего локального пользователя, вам нужно будет написать свой пароль.

(rahul)$ ssh-copy-id rahul@localhost

Попробуйте подключиться сейчас с помощью:

(rahul)$ ssh rahul@localhost

Теперь это может сработать.

person OscarGarcia    schedule 25.02.2015
comment
Я попробовал ваше предложение и не повезло. В auth.log есть следующая ошибка. ` PWD=/home/rahul ; ПОЛЬЗОВАТЕЛЬ=корень ; COMMAND=/bin/bash 25 февраля 13:26:07 rahul-ThinkPad-X240 sudo: pam_unix(sudo:session): сеанс открыт для пользователя root rahul(uid=0) 25 февраля 13:26:37 rahul-ThinkPad- X240 sudo: pam_unix(sudo:session): сеанс закрыт для пользователя root 25 февраля 13:26:42 rahul-ThinkPad-X240 sshd[11371]: соединение закрыто 127.0.0.1 [preauth]` - person Rahul Mehrotra; 26.02.2015
comment
Вы пытаетесь подключиться к пользователю root? В этом случае вам нужно добавить свой открытый ключ в /root/.ssh/authorized_keys, а не в /home/rahul/.ssh/authorized_keys. - person OscarGarcia; 26.02.2015
comment
На самом деле я не ... Я делаю «ssh rahul@localhost».. Я понятия не имею, почему он показывает пользователя root в файле журнала. - person Rahul Mehrotra; 26.02.2015
comment
Какой дистрибутив линукса вы используете? Я обновлю свой ответ шагами по переустановке openssh-сервера с настройками по умолчанию, сгенерирую новый закрытый/открытый ключ и скопирую его с помощью соответствующих команд в debian/ubuntu. - person OscarGarcia; 26.02.2015
comment
Я использую Ubuntu 14.04, и я выполнил все шаги по ссылке, которую вы упомянули, и она все еще не работает ... - person Rahul Mehrotra; 26.02.2015
comment
Попробуйте выполнить следующие действия, удалив и очистив файлы конфигурации, а затем заново создав закрытый/открытый ключи и скопировав их с помощью команды ssh-copy-id. - person OscarGarcia; 26.02.2015