Аутентификация на основе ключей SSH запрашивает пароль при первом входе в систему [дубликат]

У меня свежий Ubuntu 16.04.1 LTS и заметили, что аутентификация SSH на основе ключей запрашивает пароль учетной записи при первом входе в систему, а последующие попытки SSH работают без запроса пароля.

Пока что поведение можно воспроизвести, перезагрузив машину. Также может быть тайм-аут, но я настраиваю машину и еще не сталкивался с этим.

В целом это довольно удобно, так как снижает риск взлома SSH-ключа, хотя и имеет недостаток для автоматизированных процессов; в моем случае управление конфигурацией с помощью Ansible.

Где настраивается поведение сервера SSH? В частности, чтобы запросить аутентификацию по паролю, даже если аутентификация на основе ключа прошла успешно, но только при первом использовании ключа для открытия сеанса.

Я хотел бы сохранить это «двухфакторное» поведение для интерактивных сеансов, но отключить его (то есть не запрашивать пароль) для определенных учетных записей (например, выделенного доступного пользователя).

Спасибо!

2
задан 29 December 2016 в 18:08

2 ответа

Я нашел ответ на другом обмене стека. Причина этого поведения состоит в том, что корневой каталог шифруется!

https://unix.stackexchange.com/a/48910/122815

Является Вашим домашним зашифрованным dir? Если так, для Вашей первой ssh сессии необходимо будет обеспечить пароль. Вторая ssh сессия к тому же серверу работает с подлинным ключом. Если это верно, Вы могли переместить свой authorized_keys в незашифрованный dir и изменить путь в ~/.ssh/config.

я отследил это путем просмотра /var/log/auth.log, и конкретно строка:

pam_ecryptfs: Passphrase file wrapped

Поиск, который привел меня к другому ответу обмена стека.

2
ответ дан 2 December 2019 в 03:43

При удалении пароля из закрытого ключа, агент SSH не попросит один. Предположение, что учетную запись только для машины называют ansible как в вопросе, можно достигнуть его с этой командой:

sudo -u ansible ssh-keygen -f ~ansible/.ssh/id_<TYPE> -N ''

или

sudo ssh-keygen -f ~ansible/.ssh/id_<TYPE> -N ''

в зависимости от Вашей конфигурации управления правами доступа (замена <TYPE> с ключевым рассматриваемым типом, например, rsa, ecdsa, ed25519 и т.д.).

<час>

ключи машины Пароля меньше являются обычной практикой и достаточно безопасный целый один

  • использование уникальный специальный ключ для сервиса с помощью ключа (не то же как ключ, используемый сервисным разработчиком (разработчиками)!) и

  • замены ключ и удаляет его из всего authorized_keys файлы в первом знаке потенциального компромисса (который упрощен мерой, описанной в предыдущем пункте маркированного списка).

, Конечно, файл ключей должен иметь режим доступа 0500 для ограничения доступа к учетной записи машины только. Это - режим доступа по умолчанию для ключей, созданных с ssh-keygen.

0
ответ дан 2 December 2019 в 03:43

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

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