Secure Shell-protokollet är ett vanligt sätt att ansluta till en fjärrdator via klient-/serverapplikationer. Den använder sig av en verktygsuppsättning som ssh, scp och sftp, bland många andra, för att säkerställa en säker autentiseringsprocess och krypterad kommunikation som följer. På grund av detta ersätter dessa verktyg andra äldre verktygsuppsättningar för fjärrkommandoexekvering som telnet, rcp och rlogin.
I den här guiden kommer du att lära dig hur du installerar och aktiverar OpenSSH-server-/klienttjänster i din maskin. Den täcker också alla nödvändiga kommandon (SSH-verktyg) för att komma åt och fjärrhantera system och överföra filer däremellan.
Komma igång med SSH
Som standard inkluderar de flesta Linux-system ssh-klienten och serverapplikationerna. Paketen som inkluderar ssh-verktyg i RHEL- och Fedora-distributioner är openssh, openssh-server och openssh-client. Använd grep kommando för att hämta ssh-verktyg från den installerade listan:
yum list installerad | grep openssh
Medan Ubuntu bara innehåller ett openssh-klientpaket som också innehåller ett openssh-paket. Använd kommandot grep för att lista openssh-paket i Ubuntu, enligt följande:
sudo dpkg --lista | grep openssh
sudo apt-get installera openssh-server
Initiera/aktivera SSH-tjänst
Hantering av openssh-tjänsten kan variera från distribution till distribution, och oavsett standardkonfigurationer startar den inte automatiskt. Använd följande uppsättning kommandon för att säkerställa att tjänsten är igång på din Linux-maskin:
systemctl status sshd.service #för Fedora och RHEL
systemctl status ssh #för Ubuntu
Om den inte körs kontrollerar du tjänstens status enligt följande:
systemctl starta sshd.service #för Fedora och RHEL
systemctl ssh start #för Ubuntu
För att initiera openssh-servern så snart systemet startar:
systemctl aktivera sshd.service
systemctl ssh aktivera
Bland många andra verktyg att använda SSH-protokoll för fjärråtkomst för Linux-system är de vanligaste använda kommandot ssh för fjärrkod körning och logga in, där scp och rsync är användbara för att kopiera en eller flera filer mellan klienten och server.
Avsnittet täcker djupgående detaljer om de ovan diskuterade kommandona för effektiv fjärrhantering.
Fjärrinloggning
SSH är det kommando som du oftast använder för fjärrkonfigurationen av din Linux-server som kör sshd-tjänsten. Använd kommandot ssh för att verifiera om du kan logga in på din Linux-server för att köra kommandot.
Du kan använda en annan Linux-maskin för att logga in på din server, eller så kan du få en uppfattning om det genom att simulera det över din lokal värd som följer:
För fjärrinloggning till ett Ubuntu-konto på X.X.X.X (där X.X.X.X är IP-adressen för fjärrenheten):
ssh [email protected]
För fjärrinloggning som lokal användare:
ssh localhost
Om du loggar in för första gången på fjärrservern kommer den att uppmana dig att bekräfta att du ska ansluta till systemet, ange ja och skriv lösenordet till användarkontot.
Efter loggning kan du fortsätta med körningen av fjärrkommandot eftersom det liknar den vanliga inloggningen, med den enda skillnaden att fjärrkommunikationen är krypterad.
När du är klar skriver du utgång kommandot för att avsluta sessionen och återgå till ditt lokala system. Om det misslyckas med att stänga fjärrkontrollens skal ~. tangenter gör också en liknande uppgift och matar ut 'Anslutning till X.X.X.X stängd'.
Fjärrexekvering
Kommandot ssh tillåter exekvering av kommandon på fjärrsystemet och returnerar utdata på den lokala maskinen. Till exempel,
Följande kommando körs som användaren ubuntu på fjärrservern och returnerar värdnamn:
ssh [email protected] värdnamn
För att utföra ett kommando som innehåller alternativ eller flaggor, omge det med dubbla citattecken enligt följande:
ssh [email protected] "cat /tmp/new_file"
Ovanstående kommando returnerar innehållet i filen ovan på din lokala skärm.
Du kan också köra flera kommandon utan att återansluta varje gång genom att aktivera X11-vidarebefordran på din server. Öppna sshd_config fil inuti /etc/ssh katalog och ställ in X11 Vidarebefordran till ja som följer:
Kör nu kommandona enligt följande:
ssh -X [email protected] värdnamn & katt /tmp/new_file/ & avsluta
Fil Kopiera via scp och rsync
De scp kommando låter dig överföra/kopiera filer från fjärr till det lokala systemet och vice versa. Dess funktionalitet liknar kommandot rcp men med RSA-krypterad kommunikation. Några exempel följer.
Kopiera fil från /etc/demo katalogen för fjärrmaskinen till dess /tmp mapp enligt följande:
scp [email protected]:/home/ubuntu/demo/fil /tmp
Detta möjliggör också rekursiv kopiering, vilket innebär att du kan förse kommandot med en katalog, och det kopierar alla filer/mappar ner i hierarkin till en annan lokal katalog.
scp -r localhost:/home/ubuntu/ /tmp
Du kan också använda kommandot scp för säkerhetskopiering av filer och kataloger, men rsync är ett bättre säkerhetskopieringsverktyg av flera anledningar:
- scp har en oförmåga att behålla fil-/katalogbehörigheter och tid/datum.
- Det går inte heller att identifiera redan kopierade filer och kataloger.
Lista nu innehållet i ovanstående kataloger för att se filbehörigheterna och tidpunkten för skapandet, enligt följande:
ls -l /etc/demo /tmp/demo
Upprepa scp-kommandot ovan och återlista katalogerna för att kontrollera om den ersätter den redan kopierade filen/katalogerna från dess tidsstämpel:
Relaterad:Kopiera filer säkert i Linux med kommandot Scp
De -p flagga för kommandot scp kan hjälpa till att bevara tidsstämpeln eller skrivbehörigheter, men det ersätter fortfarande de redan kopierade filerna. För att övervinna dessa brister, använd rsync som ett säkerhetskopieringsverktyg. Ta bort filerna först i /tmp katalog för att fortsätta med exemplet nedan. Använd kommandot rsync med -a flagga för rekursiv arkivering och -v alternativet för verbose att kopiera /home/ubuntu/demo filer till /tmp katalog, enligt följande:
rsync -av [email protected]:/home/ubuntu/demo /tmp
Lista över /tmp katalog för att notera hur den bevarar tiden för fil- eller katalogskapande.
Till sist, kör om rsync kommandot för att verifiera att det inte kopierar någon fil.
Lär känna SSH
Artikeln är en guide för det mest använda protokollet för fjärrhantering av Linux-servrar. Vi visar hur du använder de viktigaste SSH-kommandona med några tips och tricks för att underlätta uppgiften att kopiera och hantera filer.
Att börja förstå SSH-kommandon/-verktyg och deras funktionalitet kan förändra din syn på system-/serverhantering eftersom det låser upp funktionerna för inte bara SSH utan även Linux-terminalen. Det är ett kraftfullt verktyg som erbjuder avsevärd säkerhet, tillsammans med ytterligare funktioner som är för avancerade för att täcka i en enda guide.
Lär dig hur du sparar tid på att hantera fjärrservrar med dessa SSH- och Linux-kommandon.
Läs Nästa
- Linux
- SSH
- Fjärråtkomst
Rumaisa är frilansskribent på MUO. Hon har gått en lång väg från matematiker till informationssäkerhetsentusiast och arbetar som SOC-analytiker. Hennes intressen inkluderar att läsa och skriva om ny teknik, Linux-distributioner och allt kring informationssäkerhet.
Prenumerera på vårt nyhetsbrev
Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e-böcker och exklusiva erbjudanden!
Klicka här för att prenumerera