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:

instagram viewer

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.

Hantera fjärrstyrda SSH-anslutningar effektivt med dessa Linux-kommandon

Lär dig hur du sparar tid på att hantera fjärrservrar med dessa SSH- och Linux-kommandon.

Läs Nästa

Dela med sigTweetE-post
Relaterade ämnen
  • Linux
  • SSH
  • Fjärråtkomst
Om författaren
Rumaisa Niazi (2 artiklar publicerade)

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.

Mer från Rumaisa Niazi

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