Сведения о вопросе

Henry

02:34, 29th August, 2020

Теги

bash   shell   ssh   ksh   rsh    

Как вы используете ssh в скрипте shell?

Просмотров: 398   Ответов: 5

Когда я пытаюсь использовать команду ssh в сценарии shell, команда просто сидит там. У вас есть пример того, как использовать ssh в скрипте shell?



  Сведения об ответе

baggs

12:46, 1st August, 2020

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

ssh user@host command

например

ssh user@host ls

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


  Сведения об ответе

PAGE

05:59, 3rd August, 2020

Во-первых, вам нужно убедиться, что вы настроили пароль без пароля (вход с открытым ключом). Существует, по крайней мере, два варианта ssh с немного различными форматами конфигурационных файлов. Проверьте справочную страницу ssh в вашей системе, проконсультируйтесь с локальным sysadmin или перейдите к разделу как настроить аутентификацию с открытым ключом? .

Чтобы запустить ssh в пакетном режиме (например, в скрипте shell), вам нужно передать команду, которую вы хотите запустить. Синтаксис таков:

ssh host command

Если вы хотите выполнить несколько команд одновременно, используйте кавычки и точки с запятой:

ssh host "command1; command2"

Кавычки необходимы для защиты точек с запятой от интерпретатора shell. Если вы оставите их, только первая команда будет выполняться удаленно, и все rest будут выполняться на локальной машине.


  Сведения об ответе

PAGE

16:14, 9th August, 2020

Вы можете использовать команду expect для заполнения информации об имени пользователя/пароле.


  Сведения об ответе

ASSembler

22:58, 8th August, 2020

Вам нужно поместить свой открытый ключ SSH в файл ~/.ssh/authorized_keys на удаленном хосте. Тогда вы сможете SSH к этому хосту без пароля.

В качестве альтернативы вы можете использовать ssh-agent . Я бы рекомендовал не хранить пароль в скрипте.


  Сведения об ответе

+-*/

02:33, 6th August, 2020

Самый простой способ-это использование сертификата для пользователя, который запускает скрипт.

Более сложный вариант подразумевает добавление пароля к stdin, когда команда shell запрашивает его. Ожидайте, perl библиотеки, показывают пользователю запрос пароля (если это интерактивно, по крайней мере), есть много вариантов.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться