Ключевое слово для подключения SSH требует пароля при первоначальном подключении

У меня на время были несколько сеансов с «парным» соединением на моих серверах, однако у одного из них всегда были проблемы, и он, наконец, дошел до того, что он мешает определенным задачам.

Ситуация:

Хост - это мой компьютер, который я использую для ssh на серверах. Server1 был настроен первым и имеет рабочую настройку аутентификации открытого ключа ssh. Server2 был настроен после Server1 и с самого начала имел проблемы с регистрацией. Это же имя пользователя используется для всех трех.

Ситуация:

Когда вы пытаетесь выполнить SSH на Server2 с хоста, после перезагрузки / перезапуска Хоста, вы вам будет предложено ввести пароль, если вы введете пароль и продолжите, вы сможете без проблем справляться с ssh, пока хост не перезагружается. После любой перезагрузки вам потребуется повторно ввести пароль.

Этого иногда можно избежать, если вы ssh с тегом -vvv. При этом условии вам не нужно вводить пароль при первом входе в систему, но для всех последующих попыток SSH требуется пароль.

Тестирование:

Я использовал: ssh -o PreferredAuthentications=publickey Server2 для тестовое подключение, используя доступ публики только между Host и Server2. Я буду использовать результаты этих тестов, а не выходные тесты -vvv, поскольку он короче. Я сравнил вывод -vvv sshing с Server2 и функционирующим сервером1, и единственная заметная область расхождения находится в следующей области:

Для Server1:

debug1: Offering RSA public key: /home/USER/.ssh/id_rsa debug3: send_pubkey_test debug2: we sent a publickey packet, wait for reply debug1: Server accepts key: pkalg ssh-rsa blen 279

Для Server2:

debug1: Offering RSA public key: /home/USER/.ssh/id_rsa debug3: send_pubkey_test debug2: we sent a publickey packet, wait for reply debug1: Authentications that can continue: publickey,password

Содержимое хоста ~/.ssh/id_rsa.pub соответствует файлу ~/.ssh/authorized_keys сервера2.

Файлы ssh_config и sshd_config идентичны между Server1 и 2.

] Содержимое и разрешения ~ / .ssh на Server2:

total 56 drwx------ 2 USER USER 4096 Jul 1 17:59 . drwx------ 6 USER USER 4096 Jun 30 11:50 .. -rw------- 1 USER USER 391 Apr 28 17:31 authorized_keys -rw------- 1 USER USER 1679 Jun 30 14:51 id_rsa -rw-r--r-- 1 USER USER 394 Jun 30 14:51 id_rsa.pub -rw-r--r-- 1 USER USER 442 Jun 30 10:32 known_hosts

Последние три файла есть, потому что этот сервер должен иметь возможность ssh на другой сервер.

Результаты работы / usr / sbin / sshd -d на сервере Server2:

debug1: sshd version OpenSSH_7.2, OpenSSL 1.0.2g 1 Mar 2016 debug1: key_load_private: Permission denied Could not load host key: /etc/ssh/ssh_host_rsa_key debug1: key_load_private: Permission denied Could not load host key: /etc/ssh/ssh_host_dsa_key debug1: key_load_private: Permission denied Could not load host key: /etc/ssh/ssh_host_ecdsa_key debug1: key_load_private: Permission denied Could not load host key: /etc/ssh/ssh_host_ed25519_key debug1: setgroups() failed: Operation not permitted debug1: rexec_argv[0]='/usr/sbin/sshd' debug1: rexec_argv[1]='-d' debug1: Set /proc/self/oom_score_adj from 0 to -1000 debug1: Bind to port 22 on 0.0.0.0. Bind to port 22 on 0.0.0.0 failed: Permission denied. debug1: Bind to port 22 on ::. Bind to port 22 on :: failed: Permission denied. Cannot bind any address.

Это идентично выводу для Server1.

Результаты тестов с использованием ssh -o PreferredAuthentications=publickey Server2 следующим образом:

Не удалось войти в систему: Permission denied (publickey,password)

После перезагрузки хоста После сбоя терминала хоста После установления соединения -vvv ssh После перезапуска службы ssh (работает только иногда)

Единственным возможным методом для успешного входа в систему является аутентификация с помощью пароля.

Тестирование:

Обходное решение для зашифрованного домашнего каталога. Не смогли. Пользователь смог выполнить ssh без предоставления пароля, однако для сеанса требуется, чтобы домашний каталог был незашифрованным (какой Server1 не требуется), а .profile и связанные файлы были неправильно использованы.

How разрешить ли этому серверу принимать сеансы ssh с парным соединением? Он должен быть идентичен серверу 1 в отношении службы ssh. Я смотрел журналы и выходы какое-то время, поэтому, возможно, свежий набор глаз может заметить то, что я пропустил.

EDIT: теперь первый вход после перезагрузки машины прошел успешно, но для последующей попытки входа в систему требуется пароль. Если пароль предоставляется во второй попытке, все последующие попытки будут работать.

0
задан 3 July 2017 в 03:55

3 ответа

Из-за вашего зашифрованного дома вы должны изменить свой sshd_config из Server2 следующим образом:

Установить

AuthorizedKeysFile    /etc/ssh/%u/authorized_keys

И поместить файл authorized_keys в / etc / ssh / USERNAME /

Если вы хотите, чтобы это было действительным только для специального пользователя, вы можете комбинировать его с Match следующим образом:

Match User myuser
  AuthorizedKeysFile    /etc/ssh/my_authorized_keys

Осталось одно примечание: ваш домашний каталог не дешифрован без пароля , Надеюсь, что это поможет ;-) Но ваш модуль pam должен запросить у вас пароль.

1
ответ дан 22 May 2018 в 20:57
  • 1
    Я уже пробовал это решение, хотя он позволяет мне ssh без пароля, он не автоматически дешифрует мой домашний каталог, как мое подключение к Server1. Я использовал USER вместо% u в файле sshd_config, чтобы он мог что-то с ним делать? – K G 2 July 2017 в 23:12
  • 2
    Ну ... видимо. Вы можете расшифровать дом только своим паролем, и если вы пропустите этот шаг, он по-прежнему будет зашифрован. [F1] является просто заменой имени пользователя в конфигурации ssh. Самое простое решение - отключить домашнее шифрование. – Jakuje 3 July 2017 в 10:38
  • 3
    Включение ключа шифрования домашней папки стало ключом. Я случайно установил его на Server2 и забыл об этом. Спасибо вам за помощь. – K G 29 July 2017 в 19:27

Из-за вашего зашифрованного дома вы должны изменить свой sshd_config из Server2 следующим образом:

Установить

AuthorizedKeysFile /etc/ssh/%u/authorized_keys

И поместить файл authorized_keys в / etc / ssh / USERNAME /

Если вы хотите, чтобы это было действительным только для специального пользователя, вы можете комбинировать его с Match следующим образом:

Match User myuser AuthorizedKeysFile /etc/ssh/my_authorized_keys

Осталось одно примечание: ваш домашний каталог не дешифрован без пароля , Надеюсь, что это поможет ;-) Но ваш модуль pam должен запросить у вас пароль.

1
ответ дан 18 July 2018 в 10:49

Из-за вашего зашифрованного дома вы должны изменить свой sshd_config из Server2 следующим образом:

Установить

AuthorizedKeysFile /etc/ssh/%u/authorized_keys

И поместить файл authorized_keys в / etc / ssh / USERNAME /

Если вы хотите, чтобы это было действительным только для специального пользователя, вы можете комбинировать его с Match следующим образом:

Match User myuser AuthorizedKeysFile /etc/ssh/my_authorized_keys

Осталось одно примечание: ваш домашний каталог не дешифрован без пароля , Надеюсь, что это поможет ;-) Но ваш модуль pam должен запросить у вас пароль.

1
ответ дан 24 July 2018 в 19:39

Другие вопросы по тегам:

Похожие вопросы: