SSH: Удаленный Запуск Команд или Скрипта — Linux
Для Linux системного администратора довольно распространенной является задача удаленного запуска какой-либо команды или локального скрипта из одной рабочей станции или Linux сервера на другой удаленной Linux машине по SSH.
В этой статье вы найдете примеры запуска одной или нескольких команд или Bash скрипта, между двумя удаленными Linux хостами по SSH.
Это информация будет особенно полезна тем, кто хочет написать Bash скрипт, который будет находиться на одной Linux машине, но будет запускаться на других удаленных серверах по SSH.
Дельный Совет: Подключайтесь на удаленный SSH сервер без ввода пароля! Настройте аутентификацию по ключам выполнив 3 простых действия! Читать далее →
SSH: Удаленный Запуск Команды
Удаленно запустите команду на сервере по SSH:
Примеры
Узнайте аптайм удаленного сервера:
Перезагрузите удаленную машину:
SSH: Запуск Нескольких Команд
Намного чаще необходимо отправить сразу несколько команд на удаленный сервер, например, для сбора информации с целью инвентаризации и получить результат обратно.
Существует множество способов как это сделать, но я покажу наиболее популярные.
Запустить несколько команд на удаленном хосте по SSH:
Дельный Совет: Слишком медленно происходит подключение по SSH? Это легко исправить! Избавитесь от задержки! Читать далее →
Примеры
Узнайте аптйм и сколько свободного места на диске:
Узнайте сколько используется памяти и среднюю нагрузку:
Узнайте версию ядра, количество ядер CPU и сколько всего RAM:
SSH: Запуск Bash Скрипта
Основная идея заключается в том, чтобы подключиться на удаленный Linux сервер, дать скрипту выполнить свою работу и получить результат, при этом не копируя сам скрипт на удаленный сервер.
Эта задаче безусловно может быть выполнена и при этом довольно просто.
Дельный Совет: Хотите ЗАЖЕЧЬ? Запустите GUI (графическое) приложение на удаленном компьютере под управлением Linux по SSH! Читать далее →
Пример
Запустите локальный скрипт script.sh на удаленном сервере:
19 Replies to “SSH: Удаленный Запуск Команд или Скрипта — Linux”
Nice Post there..I was wondering what if want to execute the script with an argument.
Hi,
How about executing a command remotely and making sure that it will be killed once i kill my ssh session. or getting of PID of either SSH or the actual command on remote-node via a script.
Something like this I want to achieve:
Example: collecting pcap on remote addr and storing it locally.
I was unable to get the proper Pids in this case. Any reply would be helpful.
How to check remote server services which require sudo privilege?
How to check remote server services which require sudo privilege from local script file?
is what I use to send a bash script over the wire with sudo priviliges
How do create a scrip to run commands on multiple remote machines?
When the first one gets executed, the response returned to STOUT, and the next one is not executed until I ^C the previous command.
I tried using ‘exit’ command and ‘&’ , neither is working.
useless writing! Where it’s remote script executing example about sudo use?
Hello everyone,
I am new to linux and trying to learn it. I have task to complete «Get last 3 login details of list of linux machine with date and time.»
Is there any way to achive it?
Command $backdoor
$bash -0 $(wich bash)
Whoami..
#root
You should change these examples to use double quotes — I got tripped up putting variables in these single quotes and took me a while to realise bash treats it as a string…
como puedo hacer que solo me pida una vez la contraseña de mi servidor? hice mi escript y como realizo varias tareas me pide varias veces la contraseña
usa ssh-copy-id para copiar la llave
This was very helpful !
Thanks 🙂
Can someone help me write a shell script to shutdown a Ubuntu computer?
I’m going to have it run on a Mac, so that it will ssh into the Ubuntu and shut it down. I need it to open Application «Terminal» then ssh name@123.45.67.89, then give it the password.
Then I need it to issue command «sudo poweroff», and give it the password again.
I know how to do this manually by opening Mac’s Terminal. I just type in «ssh name@123.456.78.9, it asks for the password, I type it in, and it’s connected. Then I just type in «sudo poweroff» and it asks for the password again, I type it in, and bam, it shuts down the Ubunt computer.
The problem is, I need to automate this to do it at a specific time of day. On the Mac, there is what is called «Automator», and you can set up ICalendar Events to run an «Automator Workflow» with a Shell Script. I just don’t know how to write the Shell Script to do what I can do manually? Any help is appreciated greatly!
I solved this. Here’s what works:
tell application «Terminal»
activate
do script («ssh test@192.168.1.10«)
delay 6
do script «password» in front window
delay 7
do script «sudo poweroff» in front window
delay 5
do script «password» in front window
end tell
Information Security Squad
stay tune stay secure
🐧 Как выполнить команды на удаленной системе Linux через SSH
Возможно, нам потребуется выполнить некоторые команды на удаленной машине.
Для этого войдите на удаленную систему и выполните свои действия, если это происходит время от времени.
Но если это происходит часто, каждый раз, когда вы делаете это может вас сильно раздражать
Если так, то как лучше выбраться из этой ситуации?
Да, вы можете сделать это из локальной системы вместо входа в удаленную систему.
Это сэкономит вам много времени.
Как это происходит?
SSH позволяет вам запускать команды на удаленном компьютере без входа в систему.
Общий синтаксис следующий:
1) Как выполнить команду на удаленной системе Linux через SSH
В следующем примере пользователи могут запускать команду df через ssh на удаленном компьютере с Linux.
2) Как запустить несколько команд на удаленной системе Linux через SSH
В следующем примере пользователи могут запускать несколько команд одновременно через ssh на удаленной системе Linux.
Он одновременно запускает команды uptime и free на удаленной системе Linux.
3) Как запустить команду с привилегиями sudo на удаленной системе Linux через SSH
В следующем примере пользователи могут запускать команду fdisk с привилегией sudo на удаленной системе Linux через ssh.
Обычные пользователи не могут выполнять команды, доступные в системном бинарном каталоге (/usr/sbin/).
Пользователи должны иметь права root для запуска этих бинарников.
Таким образом, чтобы запустить команду fdisk в системе Linux, вам нужны права root.
Команда which возвращает полный путь к исполняемому файлу данной команды.
4) Как запустить служебную service с привилегией sudo на удаленной системе Linux через SSH
В следующем примере пользователи могут запускать команду service с привилегией sudo на удаленной системе Linux через ssh.
5) Как выполнить команду на удаленной системе Linux через SSH с нестандартным портом
В следующем примере пользователи могут запускать команду hostnamectl через ssh на удаленной машине Linux с нестандартным портом.
6) Как сохранить вывод из удаленной системы в локальную через ssh
В следующем примере пользователи могут удаленно выполнять команду top в системе Linux через ssh и сохранять выходные данные в локальной системе.
Кроме того, вы можете использовать следующий формат для запуска нескольких команд в удаленной системе.
Как запустить удаленно SSH команды в Linux и показать результат локально
Основной синтаксис для запуска удаленной команды SSH в Linux
- SSH -> это протокол или команда используется для установки соединения с удаленным сервером.
- USER -> это имя пользователя на удаленном сервере.
- HOST -> это удаленный хост, на котором вы хотите выполнить удаленную команду.
- Command -> это команда, которую вы хотите выполнить на удаленном хосте.
Примеры:
- Допустим, вы хотите узнать детали точки монтирования удаленного сервера.
В приведенном выше примере система запросит у вас пароль вашего имени на удаленном хосте. Так как мы настроили пароль SSH между двумя серверами, система работала без пароля. В случае, если вы хотите настроить пароль SSH между двумя сервера, пожалуйста, прочитайте эту статью.
- В случае, если вы хотите узнать результат команды бесперебойной работы на удаленном хосте.
- Даже вы можете перегрузить сервер удаленно.
Запуск удаленной команды SSH в Linux, для остановки или запуска любого процесса или услуги.
Так как в приведенном выше примере команда состоит из более чем одного слова, вы должны всю команду заключить в кавычки «‘».
- Теперь, чтобы запустить его снова службу HTTPD, используйте команду ниже.
- Позволяет проверить состояние службы HTTPd удаленно с помощью следующей команды:
Чтобы получить вывод в локальный файл Linux, выполните команду на удаленном хосте.
В случае, если вы хотите получить выход выполненной команды на удаленном хосте, вам необходимо следовать следующему методу.
Здесь, в приведенном выше примере мы выполнили команду использования памяти на удаленном хосте и перенаправили вывод в локальный файл «/tmp/memory.txt». После этого вы можете проверить содержимое файла с помощью команды cat.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.