Я настроил libpam-google-authenticator в соответствии с https://www.digitalocean.com/community/tutorials/how-to-set-up-multi-factor-authentication-for-ssh-on. -ubuntu-16-04
Это работает, но проблема в том, что я не могу войти с паролем, он должен быть с ключом. Если ключа нет, я получаю открытый ключ, которому отказано в разрешении, даже не запрашивая пароль. Как заставить его работать с открытым ключом + двухфакторный ИЛИ пароль + двухфакторный?
Я несколько предложил решение.
Во-первых, создайте пользователя без пароля, чего-то как:
sudo adduser backup --disabled-password
затем в /etc/ssh/sshd_config
:
Match User backup
AuthenticationMethods publickey keyboard-interactive
ForceCommand sudo login
и у основания sudo visudo
:
backup ALL=(ALL:ALL) NOPASSWD:/bin/login
Наконец, выполненный
google-authenticator
как пользователь backup
. Или, Вы могли скопировать Ваш
.google_authenticator
файл новому пользователю.
Теперь, каждый раз, когда я должен войти в систему без своего закрытого ключа, я ssh в пользователя backup
, введите мой код с двумя факторами, затем я получаю системное приглашение ко входу в систему, которое позволяет мне входить в своего основного пользователя.