For å jobbe med det eksterne systemet, logger du først på det systemet, utfører kommandoer for å utføre forskjellige oppgaver og deretter logge ut fra den økten. Selv for å kjøre en enkelt kommando på et eksternt system, må du passere gjennom alle trinn. Mens du jobber på de lokale og eksterne systemene side om side, må du bytte mellom dem flere ganger. Å logge inn og ut fra et system flere ganger kan være irriterende. Det skal være en måte som lar deg utføre kommandoer på et eksternt system uten å logge på det.Heldigvis er det en måte vi kan vise deg hvordan du skal utføre kommandoer på et eksternt system over SSH rett fra din lokale maskin.
Forutsetninger
Som forutsetninger må du ha:
Merk: Kommandoene som er nevnt i denne opplæringen er utført på Ubuntu 20.04 LTS (Focal Fossa) Terminal, som kan åpnes gjennom CTRL+ALT+T -snarveien. De samme kommandoene er også aktuelle for Linux Mint og Debian.
Utfør Linux -kommandoer på eksternt system over SSH
For å utføre en kommando på et eksternt system fra det lokale systemet, 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 huske å 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 [email protected] Vertsnavn
Nå blir du bedt om å oppgi passordet for 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 ved kommandoen i en enkelt (") eller dobbel omvendt komma (" ") som dette:
$ ssh [email protected] “Vertsnavn”
Utfør flere kommandoer på eksternt system
Hvis du trenger å utføre flere kommandoer på det eksterne systemet over SSH, kan du skille dem ved hjelp av (;) eller (&&) og vedlegge dem i omvendt komma (“”). Hvis du ikke legger flere kommandoer i inverterte komma, vil bare den første kommandoen bli utført på den eksterne maskinen, og de andre kommandoene blir utført på den lokale maskinen.
$ ssh“Command1 && Command2”
eller
$ ssh“Kommando1; Kommando2 ”
Bruke && separator
Hvis du bruker (&&) separatoren, kjøres den andre kommandoen bare hvis den første kommandoen blir utført med hell. For å kjøre “MKDIR” og “LS” -kommandoer på det eksterne systemet, må du for eksempel utstede følgende kommando på ditt lokale system:
$ ssh -t [email protected] “Mkdir myfiles && ls”
Nå blir du bedt om å oppgi passordet for den eksterne brukeren. Skriv inn passordet og trykk Enter.
Følgende er utgangen fra kommandoene utført på et eksternt system. Den andre kommandoen “LS” vil bare bli utført på det eksterne systemet hvis den første kommandoen “Mkdir” lykkes.
Denne kommandoen er også nyttig når du oppgraderer systemet. Generelt utføres en systemoppgradering etter en oppdatering. Derfor, ved å bruke kommandoen ovenfor, kan du gjøre systemoppgraderingen til å kjøres bare hvis oppdateringene lykkes.
Bruker ; separator
Hvis du bruker (;) separatoren, vil den andre kommandoen kjøre uansett om den første kommandoen var vellykket eller ikke. For å kjøre “Hostname” og “IP R” -kommandoer på det eksterne systemet, må du for eksempel utstede følgende kommando på ditt lokale system:
$ ssh [email protected] “Vertsnavn; ip r ”
Nå blir du bedt om å oppgi passordet for den eksterne brukeren. Skriv inn passordet og trykk Enter.
Følgende er utgangen fra kommandoene utført på et eksternt system. Den andre kommandoen “IP R” vil bli utført selv om den første kommandoen ikke lykkes.
Utfør kommandoen på eksternt system med sudo -privilegier
Noen kommandoer på Linux krever forhøyede privilegier som å installere eller fjerne programvare, for å legge til eller fjerne en bruker, endre systemkonfigurasjoner osv. Når du utfører en kommando på de eksterne systemene som krever sudo -privilegier, blir du først bedt om passordet for den eksterne brukeren, og deretter blir du bedt om Sudo -passordet for å utføre kommandoen.
For å oppdatere systemlager på det eksterne systemet, må du for eksempel kjøre følgende kommando på ditt lokale system:
$ ssh -t [email protected] “Sudo apt oppdatering”
Følgende er utgangen fra kommandoen utført på et eksternt system med forhøyede privilegier.
Merk: da brukes alternativet her for å fordele tty kraftig.
Utfør kommandoen på eksternt system og lagre utdataene til det lokale systemet
Utgangen fra kommandoene som er utført 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 til en fil som heter IP.txt på den lokale maskinens skrivebord.
$ ssh -t [email protected] “Ifconfig”> ~/Desktop/IP.tekst
Utfør lokalt skript på eksternt system
Skriptet som er plassert på det lokale systemet kan også utføres på det eksterne systemet. La oss forklare dette ved å lage et skript som heter Eksempel.SH i det lokale systemet.
$ sudo nano prøve.sh
Legg til under linjer i skriptfilen:
#!/bin/bash
Dato
Vertsnavn
IP -rute
Ping -C 3 Google.com
Nå, lagre og lukk skriptet.
Nå, for å utføre skriptprøven.SH på det eksterne systemet, utsted kommandoen nedenfor i terminalen:
$ ssh -t [email protected] 'bash -s; < sample.sh
Her er utdataene etter at skriptet er utført på et eksternt system:
Det er alt det er for det! I denne opplæringen har vi vist deg hvordan du skal utføre kommandoer på et eksternt system over SSH. Det gjør det veldig enkelt å jobbe med det eksterne systemet og sparer deg også fra bryet med å logge inn og ut fra det eksterne systemet flere ganger.