На этот вопрос уже есть ответ:
У меня свежий Ubuntu 16.04.1 LTS и заметили, что аутентификация SSH на основе ключей запрашивает пароль учетной записи при первом входе в систему, а последующие попытки SSH работают без запроса пароля.
Пока что поведение можно воспроизвести, перезагрузив машину. Также может быть тайм-аут, но я настраиваю машину и еще не сталкивался с этим.
В целом это довольно удобно, так как снижает риск взлома SSH-ключа, хотя и имеет недостаток для автоматизированных процессов; в моем случае управление конфигурацией с помощью Ansible.
Где настраивается поведение сервера SSH? В частности, чтобы запросить аутентификацию по паролю, даже если аутентификация на основе ключа прошла успешно, но только при первом использовании ключа для открытия сеанса.
Я хотел бы сохранить это «двухфакторное» поведение для интерактивных сеансов, но отключить его (то есть не запрашивать пароль) для определенных учетных записей (например, выделенного доступного
пользователя).
Спасибо!
Я нашел ответ на другом обмене стека. Причина этого поведения состоит в том, что корневой каталог шифруется!
https://unix.stackexchange.com/a/48910/122815
Является Вашим домашним зашифрованным dir? Если так, для Вашей первой ssh сессии необходимо будет обеспечить пароль. Вторая ssh сессия к тому же серверу работает с подлинным ключом. Если это верно, Вы могли переместить свой authorized_keys в незашифрованный dir и изменить путь в ~/.ssh/config.
я отследил это путем просмотра /var/log/auth.log
, и конкретно строка:
pam_ecryptfs: Passphrase file wrapped
Поиск, который привел меня к другому ответу обмена стека.
При удалении пароля из закрытого ключа, агент 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
.