- Запуск команд или скрипта через SSH
- Запуск команд через SSH
- Запуск нескольких команд через SSH
- Практические примеры использования SSH
- SSH: Запуск Bash Скрипта
- Linux удаленное выполнение команд
- SSH: Удаленный Запуск Команды
- Примеры
- SSH: Запуск Нескольких Команд
- Примеры
- SSH: Запуск Bash Скрипта
- Пример
- 19 Replies to “SSH: Удаленный Запуск Команд или Скрипта — Linux”
- Information Security Squad
- 🐧 Как выполнить команды на удаленной системе Linux через SSH
- 1) Как выполнить команду на удаленной системе Linux через SSH
- 2) Как запустить несколько команд на удаленной системе Linux через SSH
- 3) Как запустить команду с привилегиями sudo на удаленной системе Linux через SSH
- 4) Как запустить служебную service с привилегией sudo на удаленной системе Linux через SSH
- 5) Как выполнить команду на удаленной системе Linux через SSH с нестандартным портом
- 6) Как сохранить вывод из удаленной системы в локальную через ssh
- Как запустить удаленно SSH команды в Linux и показать результат локально
- Основной синтаксис для запуска удаленной команды SSH в Linux
- Примеры:
- Запуск удаленной команды SSH в Linux, для остановки или запуска любого процесса или услуги.
- Чтобы получить вывод в локальный файл Linux, выполните команду на удаленном хосте.
Запуск команд или скрипта через SSH
Сегодня рассмотрим примеры для запуска команд или скрипта через SSH соединения. Научимся запускать наши команды/скрипты из одной рабочей станции Linux на другой удаленной Linux машине. Рассмотрим практические примеры использования мощного инструмента SSH в администрировании Linux.
Запуск команд через SSH
Если вы хотите удаленно запустить какую-либо команду на сервере через SSH, то нет ничего проще. Давайте рассмотрим пару примеров.
Узнайте аптайм удаленного сервера:
Узнать проходит ли пинг на удаленном сервере до google DNS:
ssh root@10.5.5.1 'ping 8.8.8.8 -c 5'
Перезагрузить удаленную машину:
Запуск нескольких команд через SSH
В большинстве случаем недостаточно удаленно запустить только одну команду по SSH. Намного чаще необходимо отправить сразу несколько команд на удаленный сервер, например, для сбора информации и получить результат обратно.
Запустить несколько команд на удаленном хосте по SSH:
ssh ПОЛЬЗОВАТЕЛЬ@СЕРВЕР 'КОМАНДА1; КОМАНДА2; КОМАНДА3'
Практические примеры использования SSH
Узнайте аптайм и сколько свободного места на диске:
ssh root@10.5.5.1 'uptime; df -h'
Сколько используется памяти и среднюю нагрузку:
ssh root@10.5.5.1 'free -m ; cat /proc/loadavg'
Узнать версию ядра, количество ядер CPU и сколько всего RAM:
SSH: Запуск Bash Скрипта
Также бывает ситуация, когда на Linux сервере лежит какой-либо скрипт и его необходимо запустить по SSH на другом Linux сервере.
Основная идея заключается в том, чтобы подключиться на удаленный Linux сервер, дать скрипту выполнить свою работу и получить результат, при этом не копируя сам скрипт на удаленный сервер.
Эта задаче безусловно может быть выполнена и при этом довольно просто.
Что если вы хотите выполнить сценарий с аргументом.
Если требуются привилегии sudo, то команда примет вид:
ssh root@10.5.5.1 'echo "passwords" | sudo -Sv && bash -s' < script.sh
- password — пароль для пользователя root на удаленной машине.
- script.sh — файл с вашим скриптом расположенный на станции с которой производите подключение.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
В этой статье рассмотрим пример как можно переименовать сетевые интерфейсы в дистрибутивах Linux. После обновления systemd (частью которого является udev) Читать
В этой статье я расскажу, как настроить резервное копирование с помощью ssh и cron в Linux дистрибутивов. Как нетрудно догадаться, Читать
Сегодня в статье рассмотрим опции сервиса networking в Debian подобных системах таких как Ubuntu, Linux Mint, Elementary OS и т.д. Читать
Не удалось подключиться к libvirt. Требуется установить openssh-askpass или аналогичную программу для соединения с этим узлом. Вот такое сообщение у Читать
Linux удаленное выполнение команд
Для Linux системного администратора довольно распространенной является задача удаленного запуска какой-либо команды или локального скрипта из одной рабочей станции или Linux сервера на другой удаленной Linux машине по SSH.
В этой статье вы найдете примеры запуска одной или нескольких команд или Bash скрипта, между двумя удаленными Linux хостами по SSH. Это информация будет особенно полезна тем, кто хочет написать Bash скрипт, который будет находиться на одной Linux машине, но будет запускаться на других удаленных серверах по SSH. Дельный Совет: Подключайтесь на удаленный SSH сервер без ввода пароля! Настройте аутентификацию по ключам выполнив 3 простых действия! Читать далее →
SSH: Удаленный Запуск Команды
Примеры
SSH: Запуск Нескольких Команд
Намного чаще необходимо отправить сразу несколько команд на удаленный сервер, например, для сбора информации с целью инвентаризации и получить результат обратно. Существует множество способов как это сделать, но я покажу наиболее популярные. Запустить несколько команд на удаленном хосте по SSH: Дельный Совет: Слишком медленно происходит подключение по SSH? Это легко исправить! Избавитесь от задержки! Читать далее →
Примеры
Узнайте сколько используется памяти и среднюю нагрузку: Узнайте версию ядра, количество ядер CPU и сколько всего RAM:
SSH: Запуск Bash Скрипта
Основная идея заключается в том, чтобы подключиться на удаленный Linux сервер, дать скрипту выполнить свою работу и получить результат, при этом не копируя сам скрипт на удаленный сервер. Эта задаче безусловно может быть выполнена и при этом довольно просто. Дельный Совет: Хотите ЗАЖЕЧЬ? Запустите GUI (графическое) приложение на удаленном компьютере под управлением Linux по SSH! Читать далее →
Пример
19 Replies to “SSH: Удаленный Запуск Команд или Скрипта — Linux”
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
🐧 Как выполнить команды на удаленной системе 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.