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

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

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:

  • Ubuntu -maskin
  • Bruker med sudo -privilegier

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.