Автоматизация аутентификации по одноразовому паролю

272
Kadir

Можно войти на удаленный хост без пароля, то есть ssh-copy-id <host>.

Однако мне нужно вводить одноразовый пароль (OTP) каждый раз, когда я подключаюсь к удаленному хосту. Как я могу пропустить эту часть OTP? Можно ли хранить сессию SSH на моем ПК в течение ограниченного времени?

Я использую Ubuntu 16.04.02

2
[как отключить SSH вход с паролем для некоторых пользователей?] (http://serverfault.com/questions/285800/how-to-disable-ssh-login-with-password-for-some-users) может иметь отношение к это может позволить вам настроить его таким образом, чтобы у этого специального пользователя были другие параметры. Seth 7 лет назад 0

1 ответ на вопрос

3
Jakuje

Нет. Смысл «второго фактора» заключается в том, что он отличается от пароля, и поэтому его не следует хранить на том же устройстве, что и первый фактор.

Одноразовый пароль - это интерактивный вызов-ответ, поэтому его не рекомендуется автоматизировать (в целях безопасности).

Но ... в OpenSSH есть ControlMasterфункция с ControlPersistопцией, которая делает что-то, что может решить ваши проблемы. Это позволяет вам запускать несколько сессий ssh ​​с использованием одного TCP-соединения и сохранять это мастер-соединение в течение некоторого времени после окончания оригинала.

Как это сделать? Сохраните этот фрагмент конфигурации в ~/.ssh/config:

Host your-server ControlPath ~/.ssh/control-master-%C ControlMaster auto ControlPersist 5m 

Но убедитесь, что созданные сокеты ~/.ssh/control-master-%Cне доступны для других пользователей вашей системы, потому что в этом случае они также смогут подключаться к вашему серверу!

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