Android

Hur man ställer in ssh-nycklar på debian 9

How to Install SSH Server on Windows 10 - Remote into your computer using a Command Line [OpenSSH]

How to Install SSH Server on Windows 10 - Remote into your computer using a Command Line [OpenSSH]

Innehållsförteckning:

Anonim

Secure Shell (SSH) är ett kryptografiskt nätverksprotokoll som används för en säker anslutning mellan en klient och en server och stöder olika autentiseringsmekanismer.

De två mest populära mekanismerna är lösenordsbaserad och offentlig nyckelbaserad autentisering. Att använda SSH-nycklar är säkrare och bekvämare än traditionell lösenordsautentisering.

I denna handledning kommer vi att beskriva hur man skapar SSH-nycklar på Debian 9-system. Vi kommer också att visa dig hur du ställer in en SSH-nyckelbaserad autentisering och ansluter till dina fjärr Linux-servrar utan att ange ett lösenord.

Skapa SSH-nycklar på Debian

Innan du genererar ett nytt SSH-nyckelpar först ska du kontrollera om det finns SSH-nycklar på din Debian-klientmaskin. Du kan göra det genom att köra följande ls-kommando:

ls -l ~/.ssh/id_*.pub

Om utgången från kommandot ovan innehåller något som No such file or directory eller no matches found betyder det att du inte har SSH-nycklar, och du kan fortsätta med nästa steg och generera ett nytt SSH-nyckelpar.

Om det finns befintliga nycklar kan du antingen använda dessa och hoppa över nästa steg eller ta backup av de gamla nycklarna och generera nya.

Börja med att generera ett nytt 4096 bitar SSH-nyckelpar med din e-postadress som en kommentar med följande kommando:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Utgången kommer att se ut som följande:

Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):

Tryck på Enter att acceptera standardfilplatsen och filnamnet.

Därefter uppmanas du att skriva en säker lösenfras. Oavsett om du vill använda lösenfras, är det upp till dig. Med lösenfras läggs ett extra lager av säkerhet till din nyckel.

Enter passphrase (empty for no passphrase):

Hela interaktionen ser ut så här:

För att verifiera att SSH-nyckelparet genererades skriver du:

ls ~/.ssh/id_*

Utgången ska se ut så här:

/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub

Kopiera den öppna nyckeln till servern

Nu när du har ditt SSH-nyckelpar är nästa steg att kopiera den offentliga nyckeln till servern du vill hantera.

Det enklaste och rekommenderade sättet att kopiera den offentliga nyckeln till fjärrservern är att använda ssh-copy-id verktyget.

Ställ in följande kommando på din lokala maskinterminal:

ssh-copy-id remote_username@server_ip_address

Du blir ombedd att ange lösenordet för remote_username :

remote_username@server_ip_address's password:

När användaren har verifierats kommer den offentliga nyckeln ~/.ssh/id_rsa.pub att läggas till ~/.ssh/id_rsa.pub och anslutningen stängs.

Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'username@server_ip_address'" and check to make sure that only the key(s) you wanted were added.

Om ssh-copy-id verktyget inte är tillgängligt på din lokala dator kan du använda följande kommando för att kopiera den offentliga nyckeln:

cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

Logga in på servern med SSH-nycklar

Vid denna tidpunkt bör du kunna logga in på fjärrservern utan att bli ombedd ett lösenord.

För att testa det, försök att ansluta till servern via SSH:

ssh remote_username@server_ip_address

Inaktiverar SSH-lösenordsautentisering

Om du vill lägga till ett extra lager av säkerhet på din server kan du inaktivera lösenordsverifiering för SSH.

Innan du inaktiverar autentisering av SSH-lösenord, se till att du kan logga in på servern utan lösenord, och att användaren du loggar in med har sudo-behörigheter.

Logga in på din fjärrserver:

ssh sudo_user@server_ip_address

Öppna SSH-konfigurationsfilen /etc/ssh/sshd_config :

sudo nano /etc/ssh/sshd_config

Sök efter följande direktiv och ändra enligt följande:

/ Etc / ssh / sshd_config

PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no

När du är klar sparar du filen och startar om SSH-tjänsten med följande kommando:

sudo systemctl restart ssh

Just nu är den lösenordsbaserade autentiseringen inaktiverad.

Slutsats

I denna handledning har du lärt dig hur du skapar ett nytt SSH-nyckelpar och konfigurerar en SSH-nyckelbaserad autentisering. Du kan lägga till samma nyckel till flera fjärrservrar.

Vi har också visat dig hur du inaktiverar autentisering av SSH-lösenord och lägger till ett extra lager av säkerhet på din server.

Som standard lyssnar SSH på port 22. Ändring av standard SSH-port minskar risken för automatiserade attacker.

debian ssh säkerhet