Как передать addional сценарий уже существующему ssh сценарию

Вариант использования:

1> ssh в машину-> использование ожидать автоматизации сценария

2> Однажды ssh'ed в машину запускает скрипт от моей локальной машины на удаленную машину

В настоящее время я делаю следующий подход:

ssh admin@128.34.56.127 < ./s4.sh
Pseudo-terminal will not be allocated because stdin is not a terminal.
admin@13.126.76.184's password: <Provide password>
<Script executes without any errors>

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

Так будет использовать ожидать опцию, которая должна помочь автоматизировать процедуру входа в систему.

Пример кода:

#!/usr/bin/expect -f
spawn ssh admin@128.34.56.127
expect "password"
send "password\r"

Этот код помогает автоматизировать вход в систему, но в ожидать коде..., как я дам команду для инициирования другого сценария из моего текущего сценария?

0
задан 13 November 2017 в 12:10

1 ответ

По-моему, весь подход мог быть улучшен:

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

  2. Затем можно создать ~/.ssh/config файл для упрощения процесса создания соединения SSH.

  3. Затем сценарий автоматизации мог выполнить просто эти шаги:

    • использовать scp (или rsync) скопировать Ваш сценарий в удаленную машину;

    • запустите скрипт удаленно и затем удалите его.


  1. Кроме того, можно смонтировать папку к удаленному использованию машины sshfs и затем просто запущенный скрипт удаленно.
0
ответ дан 2 November 2019 в 02:13

Другие вопросы по тегам:

Похожие вопросы: