Jak wykonywać polecenia Linux w systemie zdalnym przez SSH?

Jak wykonywać polecenia Linux w systemie zdalnym przez SSH?

Aby pracować nad systemem zdalnym, najpierw zalogujesz się do tego systemu, wykonujesz polecenia, aby wykonywać różne zadania, a następnie wyloguj się z tej sesji. Nawet aby uruchomić jedno polecenie w zdalnym systemie, musisz przejść przez wszystkie kroki. Pracując nad lokalnymi i zdalnymi systemami obok siebie, musisz przełączać się między nimi wielokrotnie. Logowanie i wychodzenie z systemu wielokrotnie może być denerwujące. Powinien istnieć sposób, który umożliwia wykonywanie poleceń w zdalnym systemie bez logowania się do niego.Na szczęście istnieje sposób, w jaki możemy pokazać, jak wykonywać polecenia w zdalnym systemie nad SSH z komputera lokalnego.

Wymagania wstępne

Jako warunki wstępne, musisz mieć:

  • Maszyna Ubuntu
  • Użytkownik z uprawnieniami sudo

Uwaga: Polecenia wymienione w tym samouczku zostały wykonane na Ubuntu 20.04 LTS (Focal Fossa) Terminal, który można otworzyć przez skrót Ctrl+Alt+T. Te same polecenia mają również zastosowanie do Linux Mint i Debian.

Wykonaj polecenia Linux w systemie zdalnym przez SSH

Aby wykonać polecenie w systemie zdalnym z systemu lokalnego, użyj następującej składni:

$ ssh

Gdzie nazwa użytkownika Czy użytkownik w systemie zdalnym, nazwa hosta/ip_address to nazwa hosta lub adres IP zdalnego systemu. Polecenie/skrypt to polecenie lub skrypt, który chcesz uruchomić w systemie zdalnym.

Jeśli SSH działa na jakimś porcie innym niż w porcie domyślnym, pamiętaj o tym za pomocą flagi -P w następujący sposób:

$ ssh -p

Wykonaj pojedyncze polecenie w systemie zdalnym

Powiedzmy, że musisz znaleźć nazwę hosta zdalnego systemu. W takim przypadku poleceniem, które musisz uruchomić w systemie lokalnym, byłoby:

$ ssh [email protected] Nazwa hosta

Teraz zostaniesz poproszony o podanie hasła dla zdalnego użytkownika. Wpisz hasło i naciśnij Enter.

W poniższym wyjściu „MYPC” jest nazwą hosta zdalnego systemu.


Możesz także załączyć polecenie w jednym („) lub podwójnym odwróconym przecinku („ ”) w ten sposób:

$ ssh [email protected] „Nazwa hosta”

Wykonaj wiele poleceń w systemie zdalnym

Jeśli musisz wykonać wiele poleceń w systemie zdalnym przez SSH, oddziel je za pomocą (;) lub (&&) i załącz je w odwróconych przecinkach („”). Jeśli nie umieścisz wielu poleceń w odwróconych przecinkach, tylko pierwsze polecenie zostanie wykonane na zdalnym komputerze, a inne polecenia zostaną wykonane na komputerze lokalnym.

$ ssh „Command1 && Command2”

Lub

$ ssh „Command1; Command2 ”

Za pomocą separatora &&

Jeśli użyjesz separatora (&&), drugie polecenie uruchomi się tylko wtedy, gdy pierwsze polecenie zostanie pomyślnie wykonane. Na przykład, aby uruchomić polecenia „MKDIR” i „LS” w systemie zdalnym, musisz wydać następujące polecenie w systemie lokalnym:

$ ssh -t [email protected] „Mkdir myfiles && ls”

Teraz zostaniesz poproszony o podanie hasła dla zdalnego użytkownika. Wpisz hasło i naciśnij Enter.

Poniżej znajduje się wyjście poleceń wykonanych w zdalnym systemie. Drugie polecenie „LS” zostanie wykonane w systemie zdalnym tylko wtedy, gdy pierwsze polecenie „MKDIR”.


To polecenie jest również przydatne podczas aktualizacji systemu. Zasadniczo aktualizacja systemu jest wykonywana po aktualizacji. Dlatego używając powyższego polecenia, możesz uruchomić aktualizację systemu tylko wtedy, gdy aktualizacje się powiedzie.

Używając ; separator

Jeśli użyjesz separatora (;), drugie polecenie uruchomi się bez względu na to, czy pierwsze polecenie zakończyło się powodzeniem. Na przykład, aby uruchomić polecenia „HostName” i „Ip R” w systemie zdalnym, musisz wydać następujące polecenie w systemie lokalnym:

$ ssh [email protected] „Nazwa hosta; ip r ”

Teraz zostaniesz poproszony o podanie hasła dla zdalnego użytkownika. Wpisz hasło i naciśnij Enter.

Poniżej znajduje się wyjście poleceń wykonanych w zdalnym systemie. Drugie polecenie „IP R” zostanie wykonane, nawet jeśli pierwsze polecenie się nie powiodło.

Wykonaj polecenie w systemie zdalnym z uprawnieniami sudo

Niektóre polecenia w systemie Linux wymagają podwyższonych uprawnień, które lubią instalować lub usuwać dowolne oprogramowanie, dodać lub usuwać użytkownika, zmieniają konfiguracje systemowe itp. Po wykonaniu polecenia w systemach zdalnych, które wymagają uprawnień Sudo, najpierw zostaniesz poproszony o hasło dla zdalnego użytkownika, a następnie zostaniesz poproszony o hasło Sudo do wykonania polecenia.

Na przykład, aby zaktualizować repozytoria systemu w systemie zdalnym, musisz uruchomić następujące polecenie w systemie lokalnym:

$ ssh -t [email protected] „Aktualizacja sudo apt”

Poniżej znajduje się wyjście polecenia wykonanego w zdalnym systemie z podwyższonymi uprawnieniami.


Uwaga: Następnie stosuje się opcję -T, aby mocno przydzielić TTY.

Wykonaj polecenie w systemie zdalnym i zapisz swoje wyjście w systemie lokalnym

Wyjście poleceń wykonanych w systemach zdalnych można również zapisać w systemie lokalnym. Na przykład następujące polecenie wykona polecenie ifconfig w systemie zdalnym, a następnie zapisze swoje dane wyjściowe na pliku o nazwie IP.TXT na komputerze komputerowej.

$ ssh -t [email protected] „Ifconfig”> ~/Desktop/IP.tekst

Wykonaj skrypt lokalny w systemie zdalnym

Skrypt umieszczony w systemie lokalnym można również wykonywać w systemie zdalnym. Wyjaśnijmy to, tworząc skrypt o nazwie próbka.SH w systemie lokalnym.

$ sudo nano próbka.cii

Dodaj poniżej wiersze w pliku skryptu:

#!/bin/bash
data
Nazwa hosta
Trasa IP
ping -c 3 Google.com

Teraz zapisz i zamknij skrypt.


Teraz, aby wykonać próbkę skryptu.SH w systemie zdalnym, wydaj poniższe polecenie w terminalu:

$ ssh -t [email protected] „Bash -s; < sample.sh

Oto dane wyjściowe po wykonaniu skryptu w zdalnym systemie:


To wszystko w tym jest! W tym samouczku pokazaliśmy, jak wykonywać polecenia w zdalnym systemie nad SSH. To sprawia, że ​​praca nad systemem zdalnym jest bardzo łatwa, a także oszczędza od kłopotów z logowaniem i wychodzeniem z systemu zdalnego wiele razy.