Назад | Перейти на главную страницу

Как использовать ssh-клиент без входа в локальную ОС

У меня есть серверные машины (они не рабочие станции, полностью автоматизированы), и мне нужно, чтобы они могли запускать скрипт, который открывает клиентское ssh-соединение (со сторонним сервером, таким как github), и мне нужно, чтобы он запускался в автоматическом режиме.

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

Независимо от того, буду я использовать ключи ssh или нет, мне нужен способ безопасного открытия клиентского ssh-соединения при загрузке без входа в локальную ОС.

Меня интересуют ответы о том, как это сделать в Linux и / или Windows.

В Windows вы можете использовать планировщик задач, чтобы приложение запускалось от имени определенного пользователя:

Обратите внимание на параметры безопасности. Вы должны установить флажок «Запускать независимо от того, вошел ли пользователь в систему или нет», а затем «Изменить пользователя или группу» и выбрать пользователя, который настроил его. Он попросит их пароль.

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

Не правда. Обратитесь к документации вашего SSH-клиента, чтобы узнать, как использовать файл закрытого ключа, хранящийся в произвольном месте в вашей файловой системе.

Для проверки OpenSSH ssh_config (5) - IdentityFile

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