Da biste radili na udaljenom sustavu, prvo se prijavite u taj sustav, izvršite naredbe za izvršavanje različitih zadataka, a zatim se odjavite iz te sesije. Čak i da biste pokrenuli jednu naredbu na udaljenom sustavu, morate proći sve korake. Dok radite na lokalnom i udaljenom sustavu jedan do drugog, trebate se više puta prebacivati između njih. Višekratna prijava i odjava iz sustava može biti dosadna. Trebao bi postojati način koji vam omogućuje izvršavanje naredbi na udaljenom sustavu bez prijave na njega.Srećom, postoji način na koji vam možemo pokazati kako izvršavati naredbe na udaljenom sustavu preko SSH-a izravno s vašeg lokalnog računala.
Preduvjeti
Kao preduvjeti morate imati:
- Ubuntu stroj
- Korisnik sa sudo privilegijama
Napomena: Naredbe spomenute u ovom vodiču izvršene su na Ubuntu 20.04 LTS (Focal Fossa) terminal, koji se može otvoriti putem prečaca Ctrl + Alt + T. Iste naredbe također su primjenjive za Linux Mint i Debian.
Izvršite Linux naredbe na udaljenom sustavu preko SSH-a
Da biste izvršili naredbu na udaljenom sustavu iz lokalnog sustava, upotrijebite sljedeću sintaksu:
$ sshGdje Korisničko ime je korisnik na udaljenom sustavu, ime hosta / IP_ adresa je naziv hosta ili IP adresa udaljenog sustava. The Naredba / skripta je naredba ili skripta koju želite pokrenuti na udaljenom sustavu.
Ako se SSH izvodi na nekom drugom priključku koji nije zadani, obavezno ga spomenite pomoću zastavice -p kako slijedi:
$ ssh -pIzvršite jednu naredbu na udaljenom sustavu
Recimo da morate pronaći ime hosta udaljenog sustava. U ovom slučaju naredba koju trebate pokrenuti na lokalnom sustavu bila bi:
$ ssh kositar @ 192.168.72.148 ime domaćinaSada ćete morati dati lozinku za udaljenog korisnika. Upišite lozinku i pritisnite Enter.
U sljedećem izlazu, "mypc" je ime hosta udaljenog sustava.
Naredbu također možete zatvoriti u jedan (") ili dvostruko obrnuti zarez (" ") ovako:
Izvršite više naredbi na udaljenom sustavu
Ako trebate izvršiti više naredbi na udaljenom sustavu preko SSH-a, razdvojite ih pomoću (;) ili (&&) i priložite u obrnute zareze (“”). Ako više naredbi ne stavite u obrnute zareze, tada će se samo prva naredba izvršiti na udaljenom stroju, a ostale naredbe na lokalnom stroju.
$ sshili
$ sshKorištenje separatora &&
Ako koristite separator (&&), druga naredba pokrenut će se samo ako se prva naredba uspješno izvrši. Na primjer, za pokretanje naredbi "mkdir" i "ls" na udaljenom sustavu, morat ćete izdati sljedeću naredbu na svom lokalnom sustavu:
$ ssh -t kositar @ 192.168.72.148 “Mkdir myfiles && ls”Sada ćete morati dati lozinku za udaljenog korisnika. Upišite lozinku i pritisnite Enter.
Slijedi izlaz naredbi izvršenih na udaljenom sustavu. Druga naredba "ls" izvršit će se na udaljenom sustavu samo ako prva naredba "mkdir" uspije.
Ova je naredba korisna i prilikom nadogradnje sustava. Općenito se nadogradnja sustava izvodi nakon ažuriranja. Stoga, pomoću gornje naredbe, možete izvršiti nadogradnju sustava da se izvodi samo ako ažuriranja uspiju.
Koristiti ; separator
Ako koristite separator (;), druga će se naredba pokrenuti bez obzira je li prva naredba bila uspješna ili ne. Na primjer, za pokretanje naredbi „hostname“ i „ip r“ na udaljenom sustavu, morat ćete izdati sljedeću naredbu na svom lokalnom sustavu:
$ ssh kositar @ 192.168.72.148 “Ime domaćina; ip r "Sada ćete morati zatražiti lozinku za udaljenog korisnika. Upišite lozinku i pritisnite Enter.
Slijedi izlaz naredbi izvršenih na udaljenom sustavu. Druga naredba “ip r” izvršit će se čak i ako je prva naredba neuspješna.
Izvršite naredbu na udaljenom sustavu sa Sudo privilegijama
Neke naredbe na Linuxu zahtijevaju povišene privilegije poput instaliranja ili uklanjanja bilo kojeg softvera, dodavanja ili uklanjanja korisnika, mijenjanja konfiguracija sustava itd. Kada izvršite naredbu na udaljenim sustavima koji zahtijevaju sudo privilegije, prvo ćete zatražiti lozinku za udaljenog korisnika, a zatim ćete zatražiti sudo lozinku za izvršavanje naredbe.
Na primjer, da biste ažurirali spremišta sustava na udaljenom sustavu, morat ćete pokrenuti sljedeću naredbu na svom lokalnom sustavu:
$ ssh -t kositar @ 192.168.72.148 “Sudo apt update”Slijedi izlaz naredbe izvršene na udaljenom sustavu s povišenim privilegijama.
Napomena: Tada se ovdje koristi opcija -t za prisilnu dodjelu tty.
Izvršite naredbu na udaljenom sustavu i spremite njen izlaz u lokalni sustav
Izlaz naredbi izvršenih na udaljenim sustavima također se može spremiti u lokalni sustav. Na primjer, sljedeća će naredba izvršiti naredbu ifconfig na udaljenom sustavu, a zatim će svoj izlaz spremiti u datoteku nazvanu ip.txt na radnoj površini lokalnog računala.
$ ssh -t kositar @ 192.168.72.148 “Ifconfig”> ~ / Desktop / ip.txt
Izvršite lokalnu skriptu na udaljenom sustavu
Skripta smještena na lokalnom sustavu može se izvršiti i na udaljenom sustavu. Objasnimo to stvaranjem skripte s imenom sample.sh u lokalnom sustavu.
$ sudo nano uzorak.shU datoteku skripte dodajte donje retke:
#!/ bin / bashdatum
ime domaćina
ip ruta
ping -c 3 google.com
Sada spremite i zatvorite skriptu.
Sada, da izvršimo uzorak skripte.sh na udaljenom sustavu, izdajte donju naredbu u terminalu:
Evo rezultata nakon izvršavanja skripte na udaljenom sustavu:
To je sve! U ovom smo uputstvu pokazali kako izvršavati naredbe na udaljenom sustavu preko SSH-a. Olakšava rad na udaljenom sustavu i također vas više puta štedi od gnjavaže s prijavom i odjavom s udaljenog sustava.