Я хотел бы войти в SSH без указания пароля при подключении из определенной сети (я осознаю риск).
Это можно как-то настроить?
Обратите внимание, что я не имею в виду аутентификацию на основе ключей (которую я использую для открытых сетей), а возможность ввести логин и пройти аутентификацию без необходимости ввода пароля для этого пользователя.
решение1
Да, что-то вроде этого:
sshpass -pfoobar ssh -o StrictHostKeyChecking=no user@host command_to_run
sshpass— это утилита, предназначенная для запуска ssh с использованием режима, называемого «интерактивной клавиатурной» аутентификацией по паролю, но в неинтерактивном режиме.
ssh использует прямой доступ к TTY, чтобы убедиться, что пароль действительно выдан пользователем интерактивной клавиатуры. Sshpass запускает ssh в выделенном tty, обманывая его, думая, что он получает пароль от интерактивного пользователя.
Команда для запуска указывается после собственных опций sshpass. Обычно это будет "ssh" с аргументами, но это может быть и любая другая команда. Однако запрос пароля, используемый ssh, в настоящее время жестко закодирован в sshpass.