Publicerad
Om du behöver använda SSH i Linux för att fjärrstyra andra datorer, kommer den här guiden att leda dig genom att göra just det.
I dagens sammanlänkade landskap har förmågan att hantera datorer från olika geografiska platser vuxit från lyx till nödvändighet. Det finns flera sätt att göra detta, beroende på vilket operativsystem som används. För Linux-baserade system, det vanligaste och säkraste sättet att hantera din dator på distans är att använda SSH (eller Säkert skal).
Låt oss gräva i hur man använder SSH på Linux för att ansluta till andra datorer.
Viktiga första steg
Innan du framgångsrikt kan ansluta till en annan Linux-dator med SSH måste du uppfylla följande förutsättningar:
- Måldatorn måste vara påslagen och ansluten till ett nätverk.
- Nödvändig klient- och serverprogramvara måste installeras och aktiveras.
- Du måste känna till IP-adressen eller värdnamnet för måldatorn.
- Lämpliga behörigheter för fjärråtkomst måste finnas på plats.
- Brandväggskonfigurationer på fjärrdatorn måste tillåt den inkommande anslutningen.
Om du använder en Linux-dator som drivs av, säg, ditt webbhotell, borde de redan ha tagit hand om allt detta. Därefter kan du behöva göra lite grundläggande programvaruinstallation på din egen Linux-dator.
Använda SSH på Linux: En praktisk guide
Att upprätta en funktionell SSH-anslutning kräver både klient- och serverprogramvarumoduler. OpenSSH fungerar som en alternativ med öppen källkod främst för Linux-plattformar.
För att installera rätt OpenSSH-klient behöver du terminalåtkomst på din lokala dator. Observera att Ubuntu-system saknar en förinstallerad SSH-server.
Installera en OpenSSH-klient
Innan du går in i installationsprocessen bör du kontrollera att SSH-klienten inte redan finns där. För att göra det, bara öppna ett terminalfönster. Du kan antingen söka efter "terminal" eller trycka på ctrl + alt + t på ditt tangentbord.
Väl i ditt terminalfönster, testa förekomsten av SSH-klienten genom att skriva följande:
$ ssh
Om Linux-datorn redan har en SSH-klient installerad, kommer du att se följande information rulla över skärmen.
usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port] [-E log_file] [-e escape_char] [-F configfile] [-I pkcs11] [-i identity_file] [-J [user@]host[:port]] [-L address] [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port] [-Q query_option] [-R address] [-S ctl_path] [-W host: port] [-w local_tun[:remote_tun]] destination [command [argument ...]]
Om du istället får ett klagomål om att filen inte hittas måste du fortsätta med OpenSSH-klientinstallationen. Lyckligtvis är detta enkelt nog.
På Ubuntu och andra Debian-baserade installationer, kör bara följande kommando i Terminal:
$ sudo apt install openssh-client
Om du kör Fedora eller annan distribution som använder mums istället för benägen, kör bara detta kommando:
$ sudo yum -y install openssh-clients
Nyare Fedora-system kan använda dnf istället. Om det låter som du är det magiska kommandot:
$ sudo dnf install -y openssh-clients
Följ instruktionerna på skärmen så är du redo att gå på nolltid.
Initierar en SSH-anslutning
När du har sett till att SSH-klienten är installerad på din Linux-dator är det dags att starta den första anslutningen. Medan du fortfarande är i terminalfönstret, utfärda följande kommando:
$ ssh username@host_ip_address
Om användarnamn matchar på lokala och fjärranslutna datorer anger du bara:
$ ssh host_ip_address
Första gången du ansluter kommer du att mötas av en fråga som frågar om du vill fortsätta ansluta till den okända datorn. Vid det här laget skriver du ja och fortsätt.
Skriv in ditt lösenord för att förstå att du inte får någon feedback på skärmen under inträdet. När du är klar bör du vara inloggad på fjärrservern och kan börja göra vilken uppgift du än behöver utföra på den datorn i första hand.
Förstå SSH: En översikt på hög nivå
Secure Shell, eller SSH – ibland betecknad som Secure Socket Shell – är ett protokoll som möjliggör säker anslutning till fjärrservrar eller datorer via ett textbaserat gränssnitt.
Vid autentisering av en säker SSH-kanal initieras en skalsession, vilket möjliggör kommandoradsinteraktion från din lokala dator.
Detta protokoll är välkänt och älskat av system- och nätverksadministratörer, såväl som alla som behöver säker fjärrstyrning av maskin.
Mekanik för SSH-funktionalitet
Att etablera en SSH-kanal kräver samarbete mellan två centrala komponenter: en applikation på klientsidan och dess motsvarighet på serversidan. Klientapplikationen initierar anslutningen genom att tillhandahålla autentiseringsuppgifter för fjärrvärd.
Om den verifieras skapar programvaran en krypterad kanal mellan de två datorerna. På fjärrmaskinen skannar en SSH-demon kontinuerligt en angiven TCP/IP-port efter potentiella anslutningsförfrågningar.
Vid mottagandet förmedlar demonen sin mjukvara och protokollkapacitet, och båda enheterna byter identifieringsdata. En krypterad session uppstår om referenserna matchar, huvudsakligen via SSH-protokoll version 2.
Avancerad SSH-användning: Lagra din krypteringsnyckel för att undvika att ange ett lösenord
Låt oss nu säga att du vill undvika att behöva ange ditt lösenord varje gång du loggar in på en fjärrserver. För en säker, lösenordsfri anslutning till en annan dator är en SSH-nyckel (Secure Shell) oumbärlig.
Du kanske redan har en sådan nyckel, men att generera en ny är aldrig en dålig idé. En SSH-nyckel, som har sitt ursprung på din lokala dator, är uppdelad i två distinkta delar: en konfidentiell, privat nyckel – som aldrig ska avslöjas – och dess offentliga motsvarighet. Denna publika nyckel sprids sedan till alla fjärrsystem du behöver logga in på.
Vissa människor kan välja en SSH-nyckel för en mängd applikationer, allt från fjärrsysteminloggningar till GitLab. En nyckel för att styra dem alla, kan man säga. Men mitt tillvägagångssätt är mer detaljerat. Jag använder olika nycklar, var och en designad för en specifik delmängd av uppgifter.
Till exempel använder jag en dedikerad nyckel för lokala maskiner inom mitt hemnätverk, en annan exklusiv nyckel för webbservrar under min administration, och ytterligare en unik nyckel för att interagera med Git värdar.
Skapa ett nytt SSH-nyckelpar
Så här kan du skapa en ny SSH-nyckel och sedan kopiera den till fjärrservern du vill använda den för. Skapa först nyckeln med hjälp av ssh-keygen.
$ ssh-keygen -t ed25519 -f /.ssh/lan
Flaggan -t anger vilken typ av nyckel som ska skapas, vilket säkerställer att krypteringen är högre än standarden. De -f flaggan anger nyckelns filnamn och plats.
När du utfärdar det här kommandot blir du ombedd att skapa ett lösenord för nyckeln. Det lösenordet, om du ställer in det, förblir lokalt och skickas inte över nätverket.
Skickar din SSH-nyckel till fjärrservern
Därefter måste du skicka den säkerhetsnyckeln till fjärrservern. För att åstadkomma detta, utfärda bara detta kommando:
$ ssh-copy-id -i /.ssh/lan.pub user@host_ip_address
Du kommer att bli ombedd att ange ditt inloggningslösenord på fjärrvärden. När processen är klar kommer din nyckel dock att installeras på den datorn.
Du bör testa genom att försöka logga in på fjärrdatorn. När du gör ssh till fjärrvärden igen kommer du att bli tillfrågad om lösenordsfrasen för nyckeln, om du ställer in en. Detta är inte ditt inloggningslösenord, kom ihåg. Det är lösenfrasen som är specifik för den SSH-nyckeln.
På många distributioner, inklusive Linux, öppnas den här lösenfrasprompten som en dialogruta. Som du kan se i exemplet nedan kan du markera en ruta för att låta Linux-datorn komma ihåg lösenordsfrasen. Det kommer dock att minska nyckelns säkerhet.
När du har angett lösenfrasen för din SSH-nyckel, ska du inte behöva skriva in den igen förrän du loggar ut från den lokala datorn.
Andra sätt att använda SSH
När allt är gjort är du bra att använda SSH för fjärråtkomst till andra Linux- eller Unix-baserade datorer. Naturligtvis handlar det inte bara om att komma till kommandotolken.
SSH innehåller också ett säkert sätt att överföra filer mellan datorer utan att använda FTP. Du kan använda Secure Copy, eller scp, för att flytta runt dessa filer. Om du är en Windows 11-användare och behöver använda SSH har du tur eftersom klienten är förinstallerad. Du kan även generera och använda SSH-nycklar i Windows 11.