- - Hur man ställer in en SSH-nyckel på Linux

Hur man ställer in en SSH-nyckel på Linux

SSH är en fantastisk teknik; du kan använda den för att döljaVPN-trafik med det, säkra dig anslutning till webbplatser och mer. Det enda problemet är varje gång du försöker logga in på en fjärrmaskin måste du ange ditt lösenord och det kan vara tråkigt. Om du är en utvecklare som vill ansluta till många maskiner över SSH på en gång med ett Bash-skript, eller bara någon som använder Secure Shell och är trött på att ange lösenord, finns det en lösning: lösenordsfri SSH. Denna process innebär att generera en säker SSH-nyckel på värdmaskinen och dela den som ett sätt att komma åt datorn. Detta gör att alla med nyckeln kan logga in, även om de inte känner till lösenordet. Så här får du igång.

Vad är SSH-nycklar?

En SSH-nyckel är en unik identifieringsfil somanvänds med Secure Shell. Syftet med dessa nycklar är att ge användaren en unik identitet och markera dem som ”betrodda” när man loggar in. Dessa nycklar är i själva verket mer än filer som bevisar någon identitet. I själva verket låter SSH användare logga in med en nyckel snarare än med ett lösenord. Vilket innebär att du istället för att tvingas ange ett lösenord varje gång du loggar in på SSH, använder du SSH-tangenten.

SSH-nyckeln är placerad någonstans säkert på din Linux-installation och därifrån kan du logga in på fjärrmaskinen så mycket du vill utan lösenord.

Generera säkra SSH-nycklar

För att först skapa en säker SSH-nyckel krävs detSSH är igång. Förstår att detta inte nödvändigtvis betyder att du behöver ha en SSH-server. Bara att de grundläggande SSH-verktygen och tekniken körs på din Linux-PC. Är du inte säker på hur man ställer in SSH? Följ vår guide om det här.

Generera alltid SSH-nycklarna på systemet som är värd för SSH-servern. Försök inte att generera dem på servern som inte är värd för en SSH-session och kopiera den till SSH-värddatorn. Det fungerar inte.

För att starta nyckelgenerationsprocessen öppnar du en terminal. Kör inuti terminalfönstret:

ssh-keygen -t rsa

Löpning ssh-keygen kommer att skriva ut "Generera offentlig / privat rsa-nyckelpar". Detta innebär att systemet genererar både en offentlig nyckel och en privat nyckel att använda. Offentliga nycklar är sådana som vem som helst kan använda, och du borde vara bra att ge ut. En privat nyckel är å andra sidan något du aldrig bör dela med någon. Därför namnet "privat".

Knapparna sparar sig själva på /home / användarnamn / .ssh / id_rsa.

Notera: TA INTE BORT de ~ / .Ssh mappen, eftersom den innehåller dina nycklar. Om du manipulerar med den här mappen på något sätt och sedan försöker logga in på den här maskinen på distans misslyckas SSH-prompten. Det kommer också att skriva ut en varning och låsa dig ut.

SSH-nycklar på fjärrmaskin

Nu när SSH-nycklarna (både offentliga och privata)sådana) är skapade och redo att användas, du måste kopiera dem till det system du vill logga in från. Det är viktigt att du upprepar denna process på alla maskiner du planerar att logga in via SSH. Annars måste de som inte har nyckeln logga in med lösenordsmetoden.

Följ detta exempel för att lägga till nycklarna till fjärrsystemet. Se till att du gör detta från värdmaskinen via SSH.

ssh username@remote-host-name mkdir -p .ssh

Om du kör detta ssh-kommando skapas en dold ~ / .Ssh -mappen på fjärrmaskinens hemkatalog (med användaren som användes för att logga in). Denna mapp är viktig, eftersom det är här vi kopierar de nyligen genererade SSH-nyckelfilerna.

För att kopiera SSH-nyckelfilerna över, kör ännu ett kommando från SSH-värdmaskinen till fjärrmaskinen som behöver nycklarna:

cat .ssh/id_rsa.pub | ssh username@remote-host-name "cat >> .ssh/authorized_keys"

Kopieringen tar några sekunder beroende på nätverkshastighet. När den är klar kommer fjärrdatorn att ha de genererade nycklarna och kan logga in på SSH-värddatorn utan lösenord.

Säkerhetskopiera SSH-nycklar

SSH-nycklar är användbara saker, och var och en är detunik. Det är på grund av detta, det är det bästa sättet att backa upp dem. Problemet är att om du sparar den någon annanstans kan någon hitta din SSH-nyckel, behålla den och använda den för sig själva. Så frågan är, vad är ett bra sätt att säkerhetskopiera en SSH-nyckel? Kryptering.

Det snabbaste, mest effektiva (och lättaste sättet) att görakryptering är att använda GnuPG. Verktyget i sig är inbyggt i de flesta av de krypteringsverktyg som redan finns på Linux, och är det bästa när kryptering av filer tas upp. För att installera GnuPG öppnar du en terminal och söker i pakethanteraren efter "gpg". Programmet bör vara lätt att hitta, även på mycket dunkla Linux-distributioner.

När GPG är igång startar du krypteringsprocessen genom att komprimera din ~ / .Ssh katalog till tar arkivfil. Om du gör detta kommer det att göras så att det inte är nödvändigt att individuellt kryptera varje enskild fil i ~ / .Ssh mapp.

tar -czvf ssh-stuff.tar.gz /home/username/.ssh

När komprimeringen är klar börjar du krypteringsprocessen.

Obs: kör innan du krypterar gpg i terminalen för att generera en ny nyckelring.

gpg -c ssh-stuff.tar.gz

När krypteringsprocessen är klar kommer GnuPG att lägga ut en fil med etiketten "ssh-stuff.tar.gz.gpg”. Ta gärna bort den ursprungliga, olåsta versionen av filen. Gör följande för att dekryptera ditt backuparkiv:

gpg ssh-stuff.tar.gz.gpg
</ P>

kommentarer