Если вы интересуетесь используете Windows Remote Desktop, то вы уже наверняка знаете, что эта служба делает, но, возможно, у вас нет полного представления о ее возможностях.
Windows Remote Desktop позволяет вам удаленно контролировать практически любой ПК или сервер с Windows. Вы можете удаленно управлять ПК с ПК, сервером с сервера, ПК с сервера или сервером с ПК. Серверный компонент RDP встроен в операционную систему Windows — в XP, Vista и Windows 7 и 8 (но вы должны включить remote desktop на целевом компьютере). Если вы удаленно работаете с компьютером, это соединение с ПК является единственным, и вы при этом контролируете консоль.
Если же вы работаете с сервером (скажем, с Windows 2003 или 2008), вы можете подключить многих пользователей к серверу с помощью службы Terminal Services.
Однако, вне зависимости от того, используете ли вы серверную ОС или нет, клиентская часть одна и та же — Remote Desktop Connection или клиент Remote Desktop, как я ее называю. Исполняемый файл для удаленного соединения называется mstsc.exe, он располагается в%systemroot%/system32/mstsc.exe.
Доступ к командной строке удаленного компьютера
Давайте же разберемся с тем, что вы можете сделать с помощью mstsc.exe’
Запуск Windows Remote Desktop Connection из командной строки
В подсказке для администраторов от Криса Сандера (Chris Sander) на WindowsNetworking.com (Использование Remote Desktop Client с помощью командной строки) разъясняются основные моменты работы с Windows Remote Desktop из командной строки. Как указывает Крис, базовый синтаксис команды mstsc.exe таков::
mstsc.exe [/console] [/f] [/w:Width/h:Height]
Но если вы запустите mstsc /? в Vista, 7 и 8, вы обнаружите еще несколько опций:
В большинстве компьютеров, с которыми я сталкивался, через меню Start обнаружить remote desktop connection не так просто. Из-за этого я привык запускать Remote Desktop таким образом: Start — Run, потом нужно набрать mstsc и нажать Enter.
Обычные причины запуска mstsc.exe через командную строку
Я люблю Remote Desktop, потому что, используя его, я могу соединяться со своего ноутбука или домашнего компьютера с любым компьютером или сервером в своей инфраструктуре. Это сильно воодушевляет.
Мне часто приходится использовать опции командной строки. Иногда возникает необходимость сохранить RDP File, являющийся файлом сохраняемой конфигурации для конкретного часто осуществляемого RDP-соединения с конкретным сервером или ПК. Естественно, для одного сервера у вас может быть несколько RDP-файлов, если вам нужно несколько конфигураций.
Эти файлы .rdp представляют собой простые текстовые файлы; их можно создавать и редактировать блокнотом. Вот один для примера:
Рисунок 2: RDP-файл, открытый в блокноте
Хотя это можно делать с помощью блокнота, обычно редактирование файлов .rdp происходит через GUI клиента Remote Desktop, так как он дает возможность открывать и сохранять (Open, Save и Save as) файлы конфигурации:
Рисунок 3: Открытие и сохранение конфигурационных настроек RDP
X11 Forwarding: Удаленный запуск графических приложений
Я также могу редактировать конкретный файл через GUI, инициируя этот процесс в командной строке с помощью опции /edit команды mstsc:
mstsc /edit test.rdp
Некоторые причины сохранения RDP-файлов для использования в дальнейшем:
- Наличие сохраненных конфигураций для нескольких серверов и помещение этих настроек на рабочий стол или в папку в меню Start:
Рисунок 4: Создание нескольких RDP-соединений в меню Start
- Наличие нескольких версий одной конфигурации; скажем, я соединяюсь с виртуальным рабочим столом с помощью VDI, и я создаю иконку для полноэкранного режима и иконку для разрешения 800×600
- Наличие одного RDP-файла просто для соединения с сервером и файла для соединения с сервером и запуска приложения (что можно настроить в файле .rdp)
И как пример, использование RDP как опции в программах-пинговалках. И инфраструктурных картах. Найти необходимый узел на карте и сразу подключиться к нему. Но для этого в программе нужно задать опции командной строки (Рисунок 4.1).
Рисунок 4.1: Подключение к удаленному компьютеру из программы-пингера FriendlyPinger.
Создание ярлыка на рабочем столе для запуска Remote Desktop
Скажем, вы хотите создать ярлык на рабочем столе для соединения с конкретным сервером. При этом вы можете использовать базовый набор опций командной строки, либо воспользоваться этими опциями и файлом соединения .rdp.
Другим способом является ввод полной строки командного интерфейса в мастере создания ярлыка соединения на рабочем столе.
Предположим, вы хотите создать ярлык на рабочем столе для:
- Соединения с сервером ‘exchange’
- Соединения с консолью этого сервера
- Создать окно разрешением 800×600
Для этого вам нужно запустить команду:
mstsc.exe /v:exchange /admin /w:800 /h:600
А для создания ярлыка на рабочем столе вам нужно ввести эту строку в create shortcut location, например:
Рисунок 5: Создание ярлыка на рабочем столе для соединения RDP
Однако, если этих базовых опций недостаточно, вам понадобиться использовать файл соединения .rdp connection file.
Для этого вам потребуется запустить mstsc.exe, а затем настроить ваше соединения так, как вам нужно. Добавляйте звук, настраивайте пропускную способность, указывайте приложение для запуска, увеличивайте производительность, подсоединяйте локальные устройства и ресурсы типа принтеров и буфера обмена.
Когда все будет готово, просто нажмите на кнопку Save as на вкладке General под настройками конфигурации. При сохранении дайте имя вроде имясервера. Убедитесь, что вам известно, в какую папку отправляется RDP-файл при сохранении. Я также рекомендую протестировать соединение, чтобы убедиться, что все работает правильно.
После сохранения вы можете закрыть окно Remote Desktop Connection и перейти к созданию ярлыка на рабочем столе. Когда вам нужно будет указать путь для ярлыка, введите файл соединения после mstsc.exe. Убедитесь, что вводите полный путь к RDP-файлу. Этот файл должен находиться либо по указанному вами пути, либо ярлык и файл .rdp должны находиться в одной и той же папке. То есть это должно выглядеть примерно так:
Mstsc.exe c:usersdaviddocumentsexchange.rdp
ЛИБО, если вы хотите запускать mstsc.exe через конфигурационный файл, вам вообще не нужно создавать ярлыки. Все, что вам нужно сделать – сохранить файл настроек RDP, а потом запустить его. Сам файл при запуске ассоциируется с mstsc.exe, и ваше соединение с сервером, указанным в конфигурационном файле, будет инициировано.
И последняя подсказка ‘ Если вы хотите изменить настройки по умолчанию, используемые mstsc.exe для запуска без определенных конфигураций, вы можете отредактировать файл Default.rdp в папке документов.
Источник: gattosporco.blogspot.com
Копирование файлов и запуск команд через SSH
Подключение к серверу посредством SSH – один из основных методов управления *nix серверами. Довольно часто возникает необходимость загрузить файл на удаленный сервер, либо выгрузить, и других средств кроме SSH-подключения нет. К счастью, копирование файлов через защищенное соединение – одна из штатных функций этого протокола и реализуется с помощь отдельной команды scp в Linux-системах, либо с помощью pscp.exe, входящей в состав SSH-клиента Putty для операционной системы Windows.
Работаем на ОС семейства Linux
Используем следующий формат команд:
scp [модификатор] [источник] [место_назначения]
Если в качестве источника или места назначения указывается удаленный сервер, то формат параметра такой:
После запуска команды потребуется ввести пароль от указанной учетной записи удаленного сервера.
Если собрать все вместе, то скопировать локальный файл /home/user/file.tgz в домашний каталог пользователя root удаленного сервера 123.123.123.123 можно командой:
Чтобы скачать этот же файл с удаленного сервера:
За одну операцию можно скопировать несколько файлов, для этого необходимо указать их в качестве источника, разделив пробелом – местом назначения будет считаться последний указанный параметр. Например, загрузить файлы file1.tgz и file2.tgz из локального каталога на удаленный сервер позволит команда:
Для копирования каталога потребуется задействовать модификатор команды –r. Копируем локальный каталог /home/user/dir на удаленный сервер:
В тех случаях, когда SSH-сервер работает на нестандартном порту, поможет опция –P. Если нужно подключиться через порт 10022:
Чтобы узнать какие еще модификаторы поддерживает команда, можно просто запустить scp без параметров и прочитать краткую справку.
Работаем на ОС семейства Windows
При использовании операционной системы Windows и Putty в качестве клиента, формат команды остается тот же, меняется только название исполняемого файл и используется синтаксис указания путей к файлам и каталогам Windows при указании источника или места назначения. Запускаем командную строку (cmd.exe) или PowerShell, переходим в каталог, где расположен файл pscp.exe вводим команду:
В случае запуска из какой-либо другой папки понадобится указать полный путь к pscp.exe. Если в каком-либо из путей присутствуют пробелы, используются двойные кавычки — “Путь к файлу”:
Как и в случае с scp, запустив pscp.exe без параметров, можно увидеть краткую справку по синтаксису команды и перечень поддерживаемых модификаторов.
Запуск команд на удаленном сервере через SSH-подключение
Протокол SSH, помимо работы в интерактивном режиме, поддерживает также разовый запуск команд или скриптов на удаленном сервере.
Источник: serverspace.ru
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 ‘#128039; Как выполнить команды на удаленной системе 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.
Источник: onecomp.ru