För att arbeta på fjärrsystemet, loggar du först in på det systemet, kör kommandon för att utföra olika uppgifter och loggar sedan ut från den sessionen. Även för att köra ett enda kommando på ett fjärrsystem måste du gå igenom alla steg. När du arbetar på det lokala och fjärrsystemen sida vid sida måste du växla mellan dem flera gånger. Att logga in och ut från ett system flera gånger kan vara irriterande. Det borde finnas ett sätt som låter dig köra kommandon på ett fjärrsystem utan att logga in på det.Lyckligtvis finns det ett sätt som vi kan visa dig hur du kör kommandon på ett fjärrsystem via SSH direkt från din lokala maskin.
Förutsättningar
Som förutsättning måste du ha:
- Ubuntu-maskin
- Användare med sudo-privilegier
Obs: Kommandona som nämns i denna handledning har körts på Ubuntu 20.04 LTS-terminal (Focal Fossa), som kan öppnas via genvägen Ctrl + Alt + T. Samma kommandon gäller även för Linux Mint och Debian.
Utför Linux-kommandon på Remote System via SSH
För att utföra ett kommando på ett fjärrsystem från ditt lokala system, använd följande syntax:
$ sshVar Användarnamn är användaren på fjärrsystemet, värdnamn / IP_Address är värdnamnet eller IP-adressen till fjärrsystemet. De Kommando / skript är det kommando eller skript du vill köra på fjärrsystemet.
Om SSH körs på någon annan port än standardporten, se till att nämna den med -p-flaggan enligt följande:
$ ssh -pUtför ett enda kommando på fjärrsystemet
Låt oss säga att du måste hitta fjärrsystemets värdnamn. I det här fallet skulle kommandot du behöver köra på det lokala systemet vara:
$ ssh tenn @ 192.168.72.148 värdnamnNu kommer du att bli ombedd att ange lösenordet för fjärranvändaren. Skriv lösenordet och tryck på Enter.
I följande utgång är “mypc” fjärrsystemets värdnamn.
Du kan också bifoga kommandot i en enda (") eller dubbel inverterad komma (" ") så här:
Utför flera kommandon på fjärrsystemet
Om du behöver utföra flera kommandon på fjärrsystemet via SSH, separera dem med (;) eller (&&) och bifoga dem i inverterade kommatecken (“”). Om du inte placerar flera kommandon i inverterade komma kommer endast det första kommandot att köras på fjärrmaskinen och de andra kommandona kommer att köras på den lokala maskinen.
$ ssheller
$ sshAnvända && separator
Om du använder separatorn (&&) kommer det andra kommandot att köras endast om det första kommandot körs framgångsrikt. Till exempel, för att köra kommandona "mkdir" och "ls" på fjärrsystemet måste du utfärda följande kommando på ditt lokala system:
$ ssh -t tenn @ 192.168.72.148 “Mkdir myfiles && ls”Nu kommer du att bli ombedd att ange lösenordet för fjärranvändaren. Skriv lösenordet och tryck på Enter.
Följande är utdata från kommandon som körs på ett fjärrsystem. Det andra kommandot "ls" körs bara på fjärrsystemet om det första kommandot "mkdir" lyckas.
Detta kommando är också användbart när du uppgraderar systemet. I allmänhet utförs en systemuppgradering efter en uppdatering. Därför kan du med hjälp av ovanstående kommando göra att systemuppgraderingen körs endast om uppdateringarna lyckas.
Använda ; separator
Om du använder separatorn (;) kommer det andra kommandot att köras oavsett om det första kommandot lyckades eller inte. Till exempel, för att köra kommandona "värdnamn" och "ip r" på fjärrsystemet måste du utfärda följande kommando på ditt lokala system:
$ ssh tenn @ 192.168.72.148 “Värdnamn; ip r ”Nu kommer du att bli ombedd att ange lösenordet för fjärranvändaren. Skriv lösenordet och tryck på Enter.
Följande är utdata från kommandon som körs på ett fjärrsystem. Det andra kommandot "ip r" kommer att köras även om det första kommandot misslyckas.
Utför kommando på fjärrsystem med Sudo-privilegier
Vissa kommandon på Linux kräver förhöjda behörigheter som att installera eller ta bort programvara, att lägga till eller ta bort en användare, ändra systemkonfigurationer, etc. När du kör ett kommando på fjärrsystemen som kräver sudo-behörigheter kommer du först att bli ombedd om lösenordet för fjärranvändaren och sedan kommer du att bli ombedd att använda sudo-lösenordet för att utföra kommandot.
För att till exempel uppdatera systemförvar på fjärrsystemet måste du köra följande kommando på ditt lokala system:
$ ssh -t tenn @ 192.168.72.148 “Sudo apt update”Följande är resultatet av kommandot som körs på ett fjärrsystem med förhöjda privilegier.
Obs: Då används -t-alternativet här för att kraftigt allokera tty.
Utför kommandot på fjärrsystemet och spara dess utdata till det lokala systemet
Utdata från kommandon som körs på fjärrsystemen kan också sparas i det lokala systemet. Till exempel kommer följande kommando att utföra ifconfig-kommandot på fjärrsystemet och sedan sparar det utdata till en fil med namnet ip.txt på den lokala maskinens skrivbord.
$ ssh -t tenn @ 192.168.72.148 “Ifconfig”> ~ / Desktop / ip.Text
Kör lokalt skript på fjärrsystemet
Skriptet som placeras på det lokala systemet kan också köras på fjärrsystemet. Låt oss förklara detta genom att skapa ett skript med namnet sample.sh i det lokala systemet.
$ sudo nano-prov.shLägg till nedanstående rader i skriptfilen:
#!/ bin / bashdatum
värdnamn
IP-rutt
ping -c 3 google.com
Spara och stäng skriptet nu.
Nu, för att köra skriptprovet.sh på fjärrsystemet, utfärda kommandot nedan i Terminal:
Här är utdata efter att skriptet har körts på ett fjärrsystem:
Det är allt som finns i det! I denna handledning har vi visat dig hur du kör kommandon på ett fjärrsystem via SSH. Det gör det mycket enkelt att arbeta på fjärrsystemet och sparar dig också från besväret med att logga in och ut från fjärrsystemet flera gånger.