У афоризмов черезвычайно низкая энтропия. (Алан.Дж.Перлис)

Как запустить удаленно SSH команды в Linux и показать результат локально

3 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 4,00 из 5)
Загрузка...
22 июня 2017
Как запустить удаленно SSH команды в Linux и показать результат локально
Это довольно распространенная задача для системных администраторов Linux, когда есть необходимость выполнения некоторой команды или локальный скрипт Bash из одного сервера Linux или Unix-сервера на другую удаленную машину на Linux с помощью SSH. В в этой статье вы найдете примеры как запустить удаленные SSH команды в Linux  с показанием результата локально.

Основной синтаксис для запуска удаленной команды SSH в Linux

$ ssh USER@HOST 'command'

 

где:

  • SSH -> это протокол или команда используется для установки соединения с удаленным сервером.
  • USER -> это имя пользователя на удаленном сервере.
  • HOST -> это удаленный хост, на котором вы хотите выполнить удаленную команду.
  • Command -> это команда, которую вы хотите выполнить на удаленном хосте.

Примеры:

  • Допустим, вы хотите  узнать детали точки монтирования удаленного сервера.
[root@destroyer ~]# ssh lradmin@213.159.209.228 df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/xvda2      10473456 1599732   8873740  16% /
devtmpfs          483256       0    489456   0% /dev
tmpfs             547132       0    502766   0% /dev/shm
tmpfs             547132   13000    492766   3% /run
tmpfs             547132       0    502766   0% /sys/fs/cgroup
tmpfs             111244       0    103558   0% /run/user/1000
tmpfs             111244       0    103558   0% /run/user/0
[root@destroyer ~]#

 

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

  • В случае, если вы хотите узнать результат команды бесперебойной работы на удаленном хосте.
[root@destroyer ~]# ssh lradmin@213.159.209.228 uptime
00:31:26 up 52 min,  2 users,  load average: 0.00, 0.01, 0.03
[root@destroyer ~]#

 

  • Даже вы можете перегрузить сервер удаленно.
[root@destroyer ~]#ssh root@213.159.209.228 reboot

 

Запуск удаленной команды SSH в Linux, для остановки или запуска любого процесса или услуги.

  • В случае, если вы хотите остановить процесс HTTPd на удаленном хосте.
[root@destroyer ~]# ssh lradmin@213.159.209.228 'systemctl stop httpd'

 

Так как в приведенном выше примере команда состоит из более чем одного слова, вы должны всю команду заключить в кавычки «‘».

  • Теперь, чтобы запустить его снова службу HTTPD, используйте команду ниже.
[root@destroyer ~]# ssh lradmin@213.159.209.228 'systemctl start httpd'

 

  • Позволяет проверить состояние службы HTTPd удаленно с помощью следующей команды:
[root@destroyer ~]# ssh lradmin@213.159.209.228 'systemctl status httpd'
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2017-06-212 95:15:21 EDT; 43s ago
     Docs: man:httpd(8)
           man:apachectl(8)
Main PID: 2121 (httpd)
   Status: "Total requests: 0; Current requests/sec: 0; Current traffic:   0 B/sec"
   CGroup: /system.slice/httpd.service
           ├─1911 /usr/sbin/httpd -DFOREGROUND
           ├─1912 /usr/sbin/httpd -DFOREGROUND
           ├─1913 /usr/sbin/httpd -DFOREGROUND
           ├─1914 /usr/sbin/httpd -DFOREGROUND
           ├─1915 /usr/sbin/httpd -DFOREGROUND
           └─1916 /usr/sbin/httpd -DFOREGROUND
 
Jun 22 09:15:21 ip-213-159-209-228.ap-south-1.compute.internal systemd[1]: Starting The Apache HTTP Server...
Jun 22 09:15:21 ip-213-159-209-228.ap-south-1.compute.internal systemd[1]: Started The Apache HTTP Server.
[root@destroyer ~]#

 

Чтобы получить вывод в локальный файл Linux, выполните команду на удаленном хосте.

В случае, если вы хотите получить выход выполненной команды на удаленном хосте, вам необходимо следовать следующему методу.

[root@destroyer ~]# ssh lradmin@213.159.209.228 'free -m' > /tmp/memory.txt
[root@destroyer ~]# cat /tmp/memory.txt
              total        used        free      shared  buff/cache   available
Mem:            991          95         352          13         450         685
Swap:             0           0           0
[root@destroyer ~]#

 

Здесь, в приведенном выше примере мы выполнили команду использования памяти на удаленном хосте и перенаправили вывод в локальный файл «/tmp/memory.txt». После этого вы можете проверить содержимое файла с помощью команды cat.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Просмотров: 208

Если статья понравилась, то поделитесь ей в социальных сетях:

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close