ssh

Kako izvršiti ukaze Linuxa na oddaljenem sistemu prek SSH?

Kako izvršiti ukaze Linuxa na oddaljenem sistemu prek SSH?

Za delo v oddaljenem sistemu se najprej prijavite v ta sistem, izvedete ukaze za izvajanje različnih nalog in se nato odjavite iz te seje. Tudi za zagon enega samega ukaza v oddaljenem sistemu morate opraviti vse korake. Medtem ko delate na lokalnih in oddaljenih sistemih vzporedno, morate večkrat preklopiti med njimi. Večkratna prijava in odjava iz sistema je lahko moteča. Moral bi obstajati način, ki vam omogoča izvajanje ukazov v oddaljenem sistemu, ne da bi se vanj prijavili.Na srečo vam lahko pokažemo, kako izvajati ukaze v oddaljenem sistemu prek SSH neposredno iz vašega lokalnega računalnika.

Pogoji

Kot predpogoj morate imeti:

Opomba: Ukazi, omenjeni v tej vadnici, so bili izvedeni v Ubuntu 20.04 LTS (Focal Fossa) terminal, ki ga je mogoče odpreti z bližnjico Ctrl + Alt + T. Isti ukazi veljajo tudi za Linux Mint in Debian.

Izvedite ukaze Linux na oddaljenem sistemu prek SSH

Za izvedbo ukaza v oddaljenem sistemu iz lokalnega sistema uporabite naslednjo sintakso:

$ ssh

Kje uporabniško_ime je uporabnik oddaljenega sistema, hostname / IP_Address je ime gostitelja ali naslov IP oddaljenega sistema. The Ukaz / skripta je ukaz ali skript, ki ga želite zagnati v oddaljenem sistemu.

Če se SSH izvaja na drugih vratih, ki niso privzeta, ga navedite z zastavico -p, kot sledi:

$ ssh -p

Izvedite en ukaz na oddaljenem sistemu

Recimo, da morate najti ime gostitelja oddaljenega sistema. V tem primeru bi bil ukaz, ki ga morate zagnati v lokalnem sistemu:

$ ssh kositer @ 192.168.72.148 ime gostitelja

Zdaj boste morali vnesti geslo za oddaljenega uporabnika. Vnesite geslo in pritisnite Enter.

V naslednjem izhodu je »mypc« ime gostitelja oddaljenega sistema.


Ukaz lahko zaprete tudi v enojni (") ali dvojno obrnjeni vejici (" "), kot je ta:

$ ssh kositer @ 192.168.72.148 "Ime gostitelja"

Izvedite več ukazov na oddaljenem sistemu

Če morate v oddaljenem sistemu izvajati več ukazov prek SSH, jih ločite s pomočjo (;) ali (&&) in jih dodajte v obrnjene vejice (“”). Če več ukazov ne vstavite v obrnjene vejice, se bo na oddaljenem računalniku izvedel samo prvi ukaz, drugi ukazi pa na lokalnem računalniku.

$ ssh   “Command1 && command2”

ali

$ ssh   “Ukaz1; ukaz2 "

Uporaba ločevalnika &&

Če uporabljate ločilo (&&), se drugi ukaz zažene le, če je prvi ukaz uspešno izveden. Če želite na primer zagnati ukaza “mkdir” in “ls” v oddaljenem sistemu, morate v lokalnem sistemu izdati naslednji ukaz:

$ ssh -t kositer @ 192.168.72.148 “Mkdir myfiles && ls”

Zdaj boste morali vnesti geslo za oddaljenega uporabnika. Vnesite geslo in pritisnite Enter.

Sledi izpis ukazov, izvedenih v oddaljenem sistemu. Drugi ukaz “ls” se bo izvedel v oddaljenem sistemu le, če bo prvi ukaz “mkdir” uspel.


Ta ukaz je uporaben tudi pri nadgradnji sistema. Na splošno se nadgradnja sistema izvede po posodobitvi. Zato lahko z zgornjim ukazom nadgradite sistem, da se zažene le, če posodobitve uspejo.

Uporabljati ; ločilo

Če uporabljate ločilo (;), se bo drugi ukaz zagnal, ne glede na to, ali je bil prvi ukaz uspešen ali ne. Če želite na primer v oddaljenem sistemu zagnati ukaza “hostname” in “ip r”, boste morali v lokalnem sistemu izdati naslednji ukaz:

$ ssh kositer @ 192.168.72.148 “Ime gostitelja; ip r "

Zdaj boste morali vnesti geslo za oddaljenega uporabnika. Vnesite geslo in pritisnite Enter.

Sledi izpis ukazov, izvedenih v oddaljenem sistemu. Drugi ukaz “ip r” se izvede, tudi če je prvi ukaz neuspešen.

Izvedite ukaz na oddaljenem sistemu s pravicami Sudo

Nekateri ukazi v Linuxu zahtevajo povišane privilegije, kot so namestitev ali odstranitev katere koli programske opreme, dodajanje ali odstranjevanje uporabnika, spreminjanje sistemskih konfiguracij itd. Ko zaženete ukaz v oddaljenih sistemih, ki zahtevajo privilegije sudo, boste najprej pozvani k geslu za oddaljenega uporabnika, nato pa boste morali izvesti geslo sudo za izvedbo ukaza.

Če želite na primer posodobiti sistemske repozitorije v oddaljenem sistemu, morate v lokalnem sistemu zagnati naslednji ukaz:

$ ssh -t kositer @ 192.168.72.148 “Posodobitev sudo apt”

Sledi izhod ukaza, ki se izvaja v oddaljenem sistemu z povišanimi privilegiji.


Opomba: Tukaj je za prisilno dodelitev tty uporabljena možnost -t.

Izvedite ukaz na oddaljenem sistemu in shranite njegov izhod v lokalni sistem

Izhod ukazov, izvedenih v oddaljenih sistemih, lahko shranite tudi v lokalni sistem. Na primer, naslednji ukaz bo izvedel ukaz ifconfig v oddaljenem sistemu in nato shranil svoj izhod v datoteko z imenom ip.txt na namizju lokalnega računalnika.

$ ssh -t kositer @ 192.168.72.148 “Ifconfig”> ~ / Namizje / ip.txt

Izvedite lokalni skript na oddaljenem sistemu

Skript, nameščen v lokalnem sistemu, se lahko izvede tudi v oddaljenem sistemu. Razložimo to z ustvarjanjem skripta z imenom sample.sh v lokalnem sistemu.

$ sudo nano vzorec.sh

V datoteko skripta dodajte spodnje vrstice:

#!/ bin / bash
datum
ime gostitelja
ip pot
ping -c 3 google.com

Zdaj shranite in zaprite skript.


Zdaj za izvedbo vzorca skripta.sh na oddaljenem sistemu, v terminalu izdajte spodnji ukaz:

$ ssh -t kositer @ 192.168.72.148 'bash -s; < sample.sh

Tu je izhod po izvedbi skripta v oddaljenem sistemu:


To je vse! V tej vadnici smo vam pokazali, kako izvajati ukaze v oddaljenem sistemu prek SSH. Olajša delo na oddaljenem sistemu in vas tudi večkrat reši težav pri prijavi in ​​odjavi iz oddaljenega sistema.

Kako namestiti in igrati Doom v Linuxu
Uvod v Doom Serija Doom je nastala v devetdesetih letih po izidu prvotnega Dooma. Bil je takojšen hit in od takrat naprej je serija iger prejela števi...
Vulkan za uporabnike Linuxa
Z vsako novo generacijo grafičnih kart vidimo, da razvijalci iger premikajo meje grafične zvestobe in se približujejo fotorealizmu. A kljub vsem kredi...
OpenTTD vs Simutrans
Ustvarjanje lastne simulacije prevoza je lahko zabavno, sproščujoče in izjemno vabljivo. Zato morate preizkusiti čim več iger, da boste našli tisto, k...