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

Я хотел настроить вход без пароля с моей локальной машины на этот сервер Linux. Когда я попытался загрузить свой открытый ключ, я обнаружил, что на сервере нет .ssh. Поэтому я создал его с помощью ssh-keygen на сервере. Однако во вновь сгенерированном каталоге .ssh нет авторизованных_ключей или известных_хостов. Поэтому я создал новый author_keys и вставил свой открытый ключ с локальной машины. Однако это не работает, все еще нужен пароль для ssh. Может ли кто-нибудь сказать мне, правильно ли я делаю?

Вот вывод ssh -vvv:

debug1: Authentications that can continue: publickey,gssapi-with-mic,password,keyboard-interactive
debug3: start over, passed a different list publickey,gssapi-with-mic,password,keyboard-interactive
debug3: preferred gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive,password
debug3: authmethod_lookup gssapi-with-mic
debug3: remaining preferred: publickey,keyboard-interactive,password
debug3: authmethod_is_enabled gssapi-with-mic
debug1: Next authentication method: gssapi-with-mic
debug3: Trying to reverse map address .
debug1: Unspecified GSS failure.  Minor code may provide more information
Credentials cache file '/tmp/krb5cc_198782' not found

debug1: Unspecified GSS failure.  Minor code may provide more information
Credentials cache file '/tmp/krb5cc_198782' not found

debug1: Unspecified GSS failure.  Minor code may provide more information


debug1: Unspecified GSS failure.  Minor code may provide more information
Credentials cache file '/tmp/krb5cc_198782' not found

debug2: we did not send a packet, disable method
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering public key: /rsrch2/rists/djiao/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug3: Wrote 368 bytes for a total of 1477
debug1: Authentications that can continue: publickey,gssapi-with-mic,password,keyboard-interactive
debug1: Trying private key: /rsrch2/rists/djiao/.ssh/id_dsa
debug3: no such identity: /rsrch2/rists/djiao/.ssh/id_dsa
debug2: we did not send a packet, disable method
debug3: authmethod_lookup keyboard-interactive
debug3: remaining preferred: password
debug3: authmethod_is_enabled keyboard-interactive
debug1: Next authentication method: keyboard-interactive
debug2: userauth_kbdint
debug2: we sent a keyboard-interactive packet, wait for reply
debug3: Wrote 96 bytes for a total of 1573
debug2: input_userauth_info_req
debug2: input_userauth_info_req: num_prompts 1

person Nasreddin    schedule 19.08.2015    source источник
comment
вы должны проверить, имеют ли файл и каталог правильные разрешения и настроен ли сервер для проверки этого пути на наличие авторизованных ключей.   -  person Jakuje    schedule 19.08.2015
comment
да, я сделал это. .ssh — 755. author_keys — 600   -  person Nasreddin    schedule 19.08.2015
comment
.ssh должно быть 700, authorized_keys в порядке.   -  person Jakuje    schedule 19.08.2015
comment
если ваш сервер использует selinux, проверьте метки   -  person Jakuje    schedule 19.08.2015
comment
@Jakuje, можно поконкретнее? что такое selinux и какие лейблы?   -  person Nasreddin    schedule 19.08.2015
comment
ls -Zd ~/.ssh и ls -Z ~/.ssh/authorized_keys должны сказать вам   -  person Jakuje    schedule 19.08.2015
comment
Вывод двух команд: drwx------ bdiuser infocust user_u:object_r:file_t /inform/flatfiles/bdiuser/.ssh и -rw------- bdiuser infocust user_u:object_r:file_t /inform/flatfiles/bdiuser/.ssh/authorized_keys   -  person Nasreddin    schedule 19.08.2015


Ответы (1)


Просто создайте его и скопируйте в него свой ключ. Если у вас есть инструмент для копирования ключей, просто создайте файл через

$ touch ~/.ssh/authorized_keys

перед использованием инструмента.

Это может помочь подключиться, используя -vvv для многословия.

На клиенте и на сервере убедитесь, что ~/.ssh имеет права 700.

На сервере проверьте, что у /etc/ssh/sshd_config есть:

AuthorizedKeysFile  .ssh/authorized_keys
PubkeyAuthentication yes
RSAAuthentication yes
person Ben Beirut    schedule 19.08.2015
comment
Как я уже сказал, я создал его вручную и скопировал в него свой ключ. Я не думаю, что инструмент копирования ключей что-то изменит, не так ли? - person Nasreddin; 19.08.2015
comment
Тогда это разрешения. Должно быть 700р. - person Ben Beirut; 19.08.2015
comment
Другой источник проблем находится на клиенте. У вас есть 700 на ~/.ssh? chmod -R 700 ~/.ssh Если вашего ключа нет в файле id_rsa, вы должны указать имя файла в команде ssh при подключении, используя опцию -i. - person Ben Beirut; 19.08.2015
comment
.ssh на клиенте уже был 700. А на сервере я поменял .ssh на 700, все равно не работает. - person Nasreddin; 19.08.2015
comment
Как называется ключевой файл? У вас есть PubkeyAuthentication yes и AuthorizedKeysFile .ssh/authorized_keys ? - person Ben Beirut; 19.08.2015
comment
стандартное имя файла, закрытый ключ id_rsa, открытый ключ id_rsa.pub. Это работает для любого другого сервера, но не для этого. Должен ли я делать dsa вместо этого? - person Nasreddin; 19.08.2015
comment
Что получается при подключении с использованием -vvv? - person Ben Beirut; 19.08.2015
comment
вывод добавлен в исходный пост. Почему он пытается искать id_dsa вместо id_rsa? - person Nasreddin; 19.08.2015
comment
Однако, пожалуйста, скройте IP-адреса. Похоже, это может быть конфигурация сервера. Сервер под вашим контролем? Если это так, проверьте /etc/ssh/sshd_config для PubkeyAuthentication и AuthorizedKeysFile. - person Ben Beirut; 19.08.2015
comment
Похоже, эти два закомментированы в sshd_config на сервере. #RSAAuthentication yes #PubkeyAuthentication yes #AuthorizedKeysFile .ssh/authorized_keys У меня нет рута для сервера, но если эти две строчки раскомментировать, то это должно исправить, да? - person Nasreddin; 19.08.2015
comment
Утвердительный. Я обновлю ответ, тогда мы сможем очистить эти комментарии. - person Ben Beirut; 19.08.2015