У меня на время были несколько сеансов с «парным» соединением на моих серверах, однако у одного из них всегда были проблемы, и он, наконец, дошел до того, что он мешает определенным задачам.
Ситуация:
Хост - это мой компьютер, который я использую для 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: теперь первый вход после перезагрузки машины прошел успешно, но для последующей попытки входа в систему требуется пароль. Если пароль предоставляется во второй попытке, все последующие попытки будут работать.
Из-за вашего зашифрованного дома вы должны изменить свой 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 должен запросить у вас пароль.
Из-за вашего зашифрованного дома вы должны изменить свой 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 должен запросить у вас пароль.
Из-за вашего зашифрованного дома вы должны изменить свой 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 должен запросить у вас пароль.