LINUX.ORG.RU
решено ФорумAdmin

shell-скрипт через ssh

 ,


0

2

Здравствуйте, товарищи линуксоиды. Казалось бы тривиальная задача, но вот поставила меня в некоторый тупик. Прошу помощи. Есть shell-скрипт, который я передаю на выполнение на удалённую машину вот таким образом:

cat script.sh | ssh -p 222 user@host «/bin/bash»

Но вот понадобилось его несколько изменить и теперь в скрипт должен передаваться параметр. Т.е. логически это должно выглядеть как-то так:

cat script.sh param | ssh -p 222 user@host «/bin/bash»

А вот как это сделать чтобы оно ещё и работало ни как не могу придумать.



Последнее исправление: ZoltonMD (всего исправлений: 1)

так оно и не будет работать. Зачем вообще через std передавать что-то?

xpahos ★★★★★
()
Ответ на: комментарий от cx

спасибо, огромное.

балбес я . 11 часов на рабочем месте дают о себе знать, тупёж какой-то начался у меня.

ZoltonMD
() автор топика
Ответ на: комментарий от ukr_unix_user

поместить скрипт на сервер, очевидно же.

очевидно же, что таких серверов может быть не один десяток и на каждый копировать неспортивно

zolden ★★★★★
()
Ответ на: комментарий от zolden

не один десяток передать или не один десяток раз скопировать? одинаково нет?

ну да лучше 11 часов сидеть на работе, и ради спортивного интереса голову ломать, ман не читать. в консоль медитировать.

ukr_unix_user ★★★★
()
scp -p 222 /path/to/script.sh user@host:/tmp
ssh user@host "/bin/bash /tmp/script.sh param && rm /tmp/script.sh"

Я думаю как-то так.

KennyMinigun ★★★★★
()
(echo 'set param'; cat script.sh) | ssh -p 222 user@host "/bin/bash"
sdio ★★★★★
()
Ответ на: комментарий от cx

О, круто, сколько живу, даже и не пользовался ни разу этой фичей (опцией -s).

Спасибо!

DRVTiny ★★★★★
()
Ответ на: комментарий от xpahos

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

Komintern ★★★★★
()
Ответ на: комментарий от Komintern

Наверняка можно. Видел даже демонстрации, как через nc файлы перекидываются.
Но сложноватая конструкция получается. Надо на сервер зайти, всё настроить. Проще через scp/ssh залить и выполнить скрипт.

Deleted
()
Ответ на: комментарий от Komintern

да, можно. Но для этих вещей есть cfengine ;)

xpahos ★★★★★
()
Ответ на: комментарий от xpahos

Но нужно же на сервере nc запустить в режиме прослушивания, для этого либо зайти на сервер, либо через ssh запустить удалённо nc. Если можно напрямую через scp/ssh залить и запустить.

Deleted
()
Ответ на: комментарий от Deleted

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

swelf
()
Ответ на: комментарий от xpahos

Быстрее, но менее безопасно!
Если внутри локалки, то как ТС удобно, а если нет, то таки неправильно.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.