Назад | Перейти на главную страницу

SSH на локальный без пароля

У нас есть несколько скриптов, которые требуют rsync без ввода пароля. Я пытаюсь подключиться к локальной машине (самому себе) по SSH. Я не могу заставить его работать. У меня всегда спрашивают пароль. Он отлично работает по SSH-подключению к удаленной машине.

Я использую CentOS 6. Домашний каталог пользователя находится в нестандартном месте (то есть не в / home / $ USER).

Вот что я сделал, чтобы заставить это работать.

Я создал закрытый ключ, используя

ssh-keygen -t rsa -C "servername.domain" 

без парольной фразы.

скопировал сгенерированный открытый ключ в ~ / .ssh / authorized_keys и попытался использовать SSH, используя

ssh servername.domain

и он просит у меня пароль. Я безрезультатно пытался поиграть с разрешениями этого файла.

Я заметил, что когда я использую пароль SSH, я получаю эту ошибку в файле журнала / var / log / secure. Не уверен, связано ли это, но ошибка приведена ниже.

Feb 12 09:15:34 servername unix_chkpwd[14652]: password check failed for user 

При выполнении ssh -v и сравнении результатов поиска, работающего без запроса пароля (удаленного) и всегда запрашивающего (локального), я вижу небольшую разницу. Во-первых, сбой показывает:

debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Next authentication method: gssapi-keyex
debug1: No valid Key exchange context

В то время как рабочий сеанс показывает только первую строку, следующие две отсутствуют.

Позже вижу:

debug1: Offering public key: /myuser/.ssh/id_rsa

В рабочей версии это сопровождается:

debug1: Server accepts key: pkalg ssh-rsa blen 277

В то время как в неудачной версии за ним следует:

debug1: Trying private key: /myuser/.ssh/id_dsa
debug1: Next authentication method: password

С тех пор я обнаружил, что SSH работает при отключении selinux. Я думаю, проблема может быть связана с нестандартным расположением домашнего каталога пользователя.

При использовании ключей, если завивка на .ssh каталог и / или authorized_keys файлы неверны, тогда ssh возвращается к паролям, если это разрешено (PasswordAuthentication Yes).

Убедитесь, что права доступа к ~. / Ssh равны 700, а права доступа ~ / .ssh / authorized_keys равны 644 (или более жесткие).


Поскольку вы определили SElinux как причину проблемы и сказали, что домашний каталог пользователя находится в нестандартном месте, проверьте /var/log/audit/audit.log на наличие соответствующих сообщений об отказе AVC.

Вы также можете попробовать изменить название соответствующего дерева каталогов

semanage fcontext -a -t user_home_t "/path/to/homedir(/.*)?"
restorecon -r /path/to/homedir