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:
- Ubuntu-maskin
- Bruker med sudo-privilegier
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:
$ sshHvor 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 -pUtfø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 vertsnavnNå 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:
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.
$ ssheller
$ sshBruke 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.shLegg til linjene nedenfor i skriptfilen:
#!/ bin / bashDato
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:
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.