У меня были соединенные ключом логины, "работающие" над моими серверами некоторое время теперь, однако у одного из них всегда были проблемы, и он наконец перешел к сути дела, где он вмешивается в определенные задачи.
Ситуация:
Хостом является мой ПК, который я использую для ssh к серверам. Server1 был настроен сначала и имеет работу ssh установка аутентификации с открытым ключом. Server2 был настроен после Server1 и имел проблемы входа в систему от запуска. То же имя пользователя используется для всех трех. Все три компьютера зашифровали корневые каталоги.
Проблема:
Когда Вы пытаетесь к SSH в Server2 от Хоста, после того, как Хост был перезагружен/перезапущен, Вам предложат пароль, если Вы введете пароль и продолжите, то Вы сможете к ssh без любых проблем, пока Хост не перезагружает. После любой перезагрузки необходимо будет повторно ввести пароль.
Этого можно иногда избегать если Вы ssh с -vvv
тег. При этом условии Вы не должны вводить пароль на первом входе в систему, но все последующие попытки SSH требуют пароля.
Тестирование:
Я использовал: ssh -o PreferredAuthentications=publickey Server2
протестировать возможность соединения с помощью доступа с открытым ключом только между Хостом и Server2. Я буду использовать результаты их, тестируют, а не -vvv
выходные тесты, так как это короче. Я выдержал сравнение -vvv
вывод sshing к Server2 и функционированию Server1 и единственная noticable область расхождения находится в следующей области:
Для 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
содержание соответствует Server2 ~/.ssh/authorized_keys
файл.
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 в, не обеспечивая пароль, однако сессия потребовала, чтобы корневой каталог был не зашифрован (которого Server1 не требует), и .profile
и связанные файлы правильно не использовались.
Как я позволяю этому серверу принимать соединенные ключом ssh сессии? Это должна быть установка, идентичная Server1 в отношении ssh сервиса. Я просматривал журналы и выводы некоторое время теперь поэтому, возможно, новая пара глаз может определить что-то, что я пропустил.
Править: Теперь первый вход в систему после перезагрузки машины успешен, но последующая попытка входа в систему требует пароля. Если пароль будет обеспечен на второй попытке, то весь после попыток будет работать.
Из-за Вашего зашифрованного дома необходимо изменить sshd_config от Server2 как это:
Набор
AuthorizedKeysFile /etc/ssh/%u/authorized_keys
И подвергнутый Ваш authorized_keys файл/etc/ssh/USERNAME/
Когда Вы хотите это только быть допустимыми для специального пользователя, чем можно объединить его с Соответствием как это:
Match User myuser
AuthorizedKeysFile /etc/ssh/my_authorized_keys
Одно примечание оставлено: Ваш корневой каталог не дешифрован без пароля. Надежда это помогает ;-) Но Ваш pam модуль должен запросить Вас для пароля.