URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 3347
[ Назад ]

Исходное сообщение
"bash-скрипт для работы по ssh"

Отправлено Tsahes , 08-Сен-04 16:27 
Здравствуйте.
Необходимо создать ssh-соединение, выполнить определенные действия на удаленной машине и завершить соединение. Авторизация происходит по паролю, поэтому для установки соединения использован expect-скрипт.

ssh_conn:
#! /usr/bin/expect
spawn ssh host -x
expect {
  password: {send "password\r"
  interact $spawn_id
  }
}

Как теперь в скрипте bash выполнить что-нибудь на удаленной стороне?
Как закрыть ssh-соединение?

#!/bin/bash
./ssh_conn
#...?


Содержание

Сообщения в этом обсуждении
"bash-скрипт для работы по ssh"
Отправлено Maxim A.Kuznetcov , 09-Сен-04 14:29 
>Здравствуйте.
>Необходимо создать ssh-соединение, выполнить определенные действия на удаленной машине и завершить соединение.
>Авторизация происходит по паролю, поэтому для установки соединения использован expect-скрипт.
>
>ssh_conn:
>#! /usr/bin/expect
>spawn ssh host -x
>expect {
>  password: {send "password\r"
>  interact $spawn_id
>  }
>}
>
>Как теперь в скрипте bash выполнить что-нибудь на удаленной стороне?
>Как закрыть ssh-соединение?
>
>#!/bin/bash
>./ssh_conn
>#...?
вообще-то по завершению скрипта ssh_conn соединение должно закрыться.
если что-то надо исполнить на удаленной машине, то и команды надо посылать
внутри скрипта..send "command", если надо вводить команды интерактивно,
то вводите их через тот-же expect

кстати такой вот логин, с хранением пароля в скрипте - ЗЛО...
посмотрите сдесь и на google как научить ssh входить без ввода пароля,
исползуя только сохранённые ключи (как rlogin)..



"bash-скрипт для работы по ssh"
Отправлено kyprizel , 16-Сен-04 08:25 
>>Здравствуйте.
>>Необходимо создать ssh-соединение, выполнить определенные действия на удаленной машине и завершить соединение.
>>Авторизация происходит по паролю, поэтому для установки соединения использован expect-скрипт.
>>
>>ssh_conn:
>>#! /usr/bin/expect
>>spawn ssh host -x
>>expect {
>>  password: {send "password\r"
>>  interact $spawn_id
>>  }
>>}
>>
>>Как теперь в скрипте bash выполнить что-нибудь на удаленной стороне?
>>Как закрыть ssh-соединение?
>>
>>#!/bin/bash
>>./ssh_conn
>>#...?
>вообще-то по завершению скрипта ssh_conn соединение должно закрыться.
>если что-то надо исполнить на удаленной машине, то и команды надо посылать
>
>внутри скрипта..send "command", если надо вводить команды интерактивно,
>то вводите их через тот-же expect
>
>кстати такой вот логин, с хранением пароля в скрипте - ЗЛО...
>посмотрите сдесь и на google как научить ssh входить без ввода пароля,
>
>исползуя только сохранённые ключи (как rlogin)..
man ssh-keygen