Рейтинг:0

Есть ли способ автоматизировать вход в систему по ssh без sshpass или ожидания?

флаг in

Контекст здесь таков, что у меня на работе есть ряд встроенных систем Linux. У них нет доступа в Интернет. Они часто перерисовываются. Я не контролирую образ ОС, и команда-владелец не заинтересована во включении sshpass или же ожидать в сборки ОС.

Это тестовые машины, доступные только из внутренней сети.В настоящее время процесс обновления довольно болезненный и включает меня вручную SCP'ing файлы между 3 переходами. Я хотел бы автоматизировать этот процесс с помощью скрипта, это сэкономило бы мне несколько часов в неделю. Текущий рабочий процесс для меня состоит в том, чтобы иметь гигантскую серию 3-уровневых вложенных сеансов tmux с различными панелями, в которых я запускаю очень похожие команды. Это работает, но это не весело. Однако, насколько я могу судить, нет способа передать пароль обычным текстом ssh. Пароль для всех этих машин просто корень, поскольку они предназначены только для тестирования и разработки.

Вещи, которые я видел, которые, я считаю, не будут работать:

  • Общие ключи: образ этих машин обновляется ежедневно или несколько раз в день. Я не могу ожидать постоянного ключа.
  • sshpass или же ожидать: как указано выше, команда ОС отклонила мою просьбу добавить их.
  • Установка любых инструментов UNIX, отличных от стандартных, поскольку эти машины не имеют доступа к Интернету.
tilleyc avatar
флаг us
Вы говорите, что не можете ожидать постоянного ключа… почему бы и нет? Если они смогут перерисовать их, они смогут достаточно легко упаковать ожидаемый ключ.
brenzo avatar
флаг in
Я не согласен, но мои мольбы остаются глухими, и я просто пытаюсь разблокировать себя здесь.
флаг me
ваша задача - отправить файлы SCP на целевое устройство через 3 сервера, верно? вы можете использовать Ansible для копирования файла через хост перехода или настроить OpenSSH для создания хоста перехода для вас, а затем вы просто SCP со своего ноутбука на целевое устройство. Ссылка: https://www.jeffgeerling.com/blog/2022/using-ansible-playbook-ssh-bastion-jump-host и https://wiki.gentoo.org/wiki/SSH_jump_host
Рейтинг:1
флаг us

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

И вы правы - по замыслу нет возможности передать ssh пароль в командной строке. Таким образом, вариантов дальнейшей автоматизации без установки чего-то еще не так много, как вы сказали.

Учитывая ограничения и предполагая, что вы не должны хранить пароль где-либо, я бы сказал, что скрипт, который использует вложенный SSH (используя несколько вызовов флага -J), чтобы сократить количество прыжков, и имея пароль, готовый к вставить в вашем буфере вставки сведет к минимуму ваши усилия.

Еще одно предложение. Вы упомянули об отсутствии доступа к Интернету, но если есть какие-либо сценарии или инструменты, которые вы могли бы сделать внутри доступны, вы можете тяга их из этого внутреннего источника в ваши целевые системы. Вытягивание одного скрипта «начальной загрузки», а затем запустить этот сценарий для установки любых других статически скомпилированных утилит (или даже сертификатов или ключей SSH!), может быть эффективным. Это нужно было бы делать заново каждый раз, когда системы перестраиваются, но сценарий мог бы даже проверять, был ли перестроен образ целевой системы или нет, и устанавливать только то, чего не хватает. Другими словами, вы можете автоматизировать процесс возвращение перестроенных систем в состояние поддерживаемости.

В любом случае, удачи. Если бы Холлмарк сделал для этого открытку, я бы достал ее для тебя. :D

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.