Можно ли не иметь пароля SSH для пользователя, заходящего из определенной сети?

Можно ли не иметь пароля SSH для пользователя, заходящего из определенной сети?

Я хотел бы войти в SSH без указания пароля при подключении из определенной сети (я осознаю риск).

Это можно как-то настроить?

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

решение1

Да, что-то вроде этого:

sshpass -pfoobar ssh -o StrictHostKeyChecking=no user@host command_to_run

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

ssh использует прямой доступ к TTY, чтобы убедиться, что пароль действительно выдан пользователем интерактивной клавиатуры. Sshpass запускает ssh в выделенном tty, обманывая его, думая, что он получает пароль от интерактивного пользователя.

Команда для запуска указывается после собственных опций sshpass. Обычно это будет "ssh" с аргументами, но это может быть и любая другая команда. Однако запрос пароля, используемый ssh, в настоящее время жестко закодирован в sshpass.

Связанный контент