ssh

Hvordan utføre Linux-kommandoer på eksternt system via SSH?

Hvordan utføre Linux-kommandoer på eksternt system via SSH?

For å jobbe med det eksterne systemet, må du først logge på systemet, utføre kommandoer for å utføre forskjellige oppgaver, og deretter logge av fra den økten. Selv for å kjøre en enkelt kommando på et eksternt system, må du gå gjennom alle trinnene. Mens du arbeider på det lokale og eksterne systemet side om side, må du bytte mellom dem flere ganger. Det kan være irriterende å logge inn og ut fra et system flere ganger. Det bør være en måte som lar deg utføre kommandoer på et eksternt system uten å logge inn på det.Heldigvis er det en måte vi kan vise deg hvordan du kjører kommandoer på et eksternt system over SSH rett fra din lokale maskin.

Forutsetninger

Som forutsetning må du ha:

Merk: Kommandoene nevnt i denne opplæringen er utført på Ubuntu 20.04 LTS (Focal Fossa) Terminal, som kan åpnes via Ctrl + Alt + T snarvei. De samme kommandoene gjelder også for Linux Mint og Debian.

Utfør Linux-kommandoer på eksternt system via SSH

For å utføre en kommando på et eksternt system fra ditt lokale system, bruk følgende syntaks:

$ ssh

Hvor brukernavn er brukeren på det eksterne systemet, vertsnavn / IP_Address er vertsnavnet eller IP-adressen til det eksterne systemet. De Kommando / skript er kommandoen eller skriptet du vil kjøre på det eksterne systemet.

Hvis SSH kjører på en annen port enn standardporten, må du nevne den ved hjelp av -p-flagget som følger:

$ ssh -p

Utfør enkeltkommando på eksternt system

La oss si at du må finne vertsnavnet til det eksterne systemet. I dette tilfellet vil kommandoen du trenger å kjøre på det lokale systemet være:

$ ssh tinn @ 192.168.72.148 vertsnavn

Nå blir du bedt om å oppgi passordet til den eksterne brukeren. Skriv inn passordet og trykk Enter.

I den følgende utgangen er “mypc” vertsnavnet til det eksterne systemet.


Du kan også legge kommandoen i et enkelt (") eller dobbelt invertert komma (" ") slik:

$ ssh tinn @ 192.168.72.148 “Vertsnavn”

Utfør flere kommandoer på eksternt system

Hvis du trenger å utføre flere kommandoer på det eksterne systemet over SSH, skiller du dem med (;) eller (&&) og legger dem i omvendte kommaer (“”). Hvis du ikke legger flere kommandoer i inverterte kommaer, vil bare den første kommandoen bli utført på den eksterne maskinen, og de andre kommandoene vil bli utført på den lokale maskinen.

$ ssh   “Command1 && command2”

eller

$ ssh   “Kommando1; kommando2 ”

Bruke separatoren &&

Hvis du bruker (&&) skilletegn, vil den andre kommandoen bare kjøres hvis den første kommandoen er utført vellykket. For eksempel, for å kjøre kommandoer “mkdir” og “ls” på det eksterne systemet, må du utstede følgende kommando på det lokale systemet:

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

Nå blir du bedt om å oppgi passordet til den eksterne brukeren. Skriv inn passordet og trykk Enter.

Følgende er utdataene fra kommandoene som kjøres på et eksternt system. Den andre kommandoen “ls” vil bare utføres på det eksterne systemet hvis den første kommandoen “mkdir” lykkes.


Denne kommandoen er også nyttig når du oppgraderer systemet. Vanligvis utføres en systemoppgradering etter en oppdatering. Ved å bruke kommandoen ovenfor kan du derfor bare oppgradere systemet til å kjøre hvis oppdateringene lykkes.

Bruker ; separator

Hvis du bruker (;) skilletegn, vil den andre kommandoen kjøre uansett om den første kommandoen var vellykket eller ikke. For å for eksempel kjøre kommandoer “vertsnavn” og “ip r” på det eksterne systemet, må du utstede følgende kommando på det lokale systemet:

$ ssh tinn @ 192.168.72.148 “Vertsnavn; ip r ”

Nå blir du bedt om å oppgi passordet til den eksterne brukeren. Skriv inn passordet og trykk Enter.

Følgende er utdataene fra kommandoene som kjøres på et eksternt system. Den andre kommandoen “ip r” vil bli utført selv om den første kommandoen ikke lykkes.

Utfør kommando på eksternt system med Sudo-privilegier

Noen kommandoer på Linux krever forhøyede privilegier som å installere eller fjerne hvilken som helst programvare, for å legge til eller fjerne en bruker, endre systemkonfigurasjoner osv. Når du utfører en kommando på eksterne systemer som krever sudo-rettigheter, blir du først bedt om passordet til den eksterne brukeren, og deretter blir du bedt om sudo-passordet for å utføre kommandoen.

For eksempel, for å oppdatere systemdatabaser på det eksterne systemet, må du kjøre følgende kommando på det lokale systemet:

$ ssh -t tinn @ 192.168.72.148 “Sudo apt update”

Følgende er utdataene fra kommandoen utført på et eksternt system med forhøyede privilegier.


Merk: Da brukes -t-alternativet her for å fordele tty.

Utfør kommando på eksternt system og lagre utdataene til lokalt system

Utdataene fra kommandoene som kjøres på de eksterne systemene, kan også lagres i det lokale systemet. For eksempel vil følgende kommando utføre ifconfig-kommandoen på det eksterne systemet, og deretter vil den lagre utdataene i en fil som heter ip.txt på den lokale maskinens skrivebord.

$ ssh -t tinn @ 192.168.72.148 “Ifconfig”> ~ / Desktop / ip.tekst

Utfør lokalt skript på eksternt system

Skriptet plassert på det lokale systemet kan også kjøres på det eksterne systemet. La oss forklare dette ved å lage et skript som heter sample.sh i det lokale systemet.

$ sudo nano-prøve.sh

Legg til linjene nedenfor i skriptfilen:

#!/ bin / bash
Dato
vertsnavn
ip-rute
ping -c 3 google.com

Lagre og lukk skriptet nå.


Nå, for å utføre skripteeksemplet.sh på det eksterne systemet, send kommandoen nedenfor i Terminal:

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

Her er utdataene etter at skriptet er utført på et eksternt system:


Det er alt det er til det! I denne opplæringen har vi vist deg hvordan du kjører kommandoer på et eksternt system via SSH. Det gjør det veldig enkelt å jobbe på det eksterne systemet og sparer deg også for bryet med å logge inn og ut fra det eksterne systemet flere ganger.

Topp 5 spillfangstkort
Vi har alle sett og elsket streaming av spill på YouTube. PewDiePie, Jakesepticye og Markiplier er bare noen av de beste spillerne som har tjent milli...
Hvordan utvikle et spill på Linux
For et tiår siden ville ikke mange Linux-brukere forutsi at deres favorittoperativsystem en dag ville være en populær spillplattform for kommersielle ...
Åpne kildeporter for kommersielle spillmotorer
Gratis, åpen kildekode og plattformspillmotorrekreasjoner kan brukes til å spille gamle så vel som noen av de ganske nylige spilletitlene. Denne artik...