2

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

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

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

1 ответ1

3

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

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

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .