Android

Hur man ställer in ssh-nycklar på ubuntu 18.04

How to Enable SSH in Ubuntu 18.04 LTS / Ubuntu 20.04 (Install openssh-server)

How to Enable SSH in Ubuntu 18.04 LTS / Ubuntu 20.04 (Install openssh-server)

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 autentisering 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 gå igenom hur man genererar SSH-nycklar på Ubuntu 18.04-maskiner. 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å Ubuntu

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

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

Om kommandot ovan skriver ut något som No such file or directory eller no matches found betyder det att du inte har SSH-nycklar på din klientmaskin och du kan fortsätta med nästa steg och generera 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.

Generera ett nytt 4096 bitar SSH-nyckelpar med din e-postadress som en kommentar genom att skriva:

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

Utgången ser ut så här:

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. Om du väljer att använda lösenfras får du ett extra lager av säkerhet.

Enter passphrase (empty for no passphrase):

Hela interaktionen ser ut så här:

För att verifiera att ditt nya SSH-nyckelpar genereras skriver du:

ls ~/.ssh/id_*

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

Kopiera den offentliga nyckeln till Ubuntu Server

Nu när du genererade 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 din offentliga nyckel till servern är att använda ett verktyg som heter ssh-copy-id . På din lokala maskinterminal typ:

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 bifogas ~/.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 av någon anledning 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å din server med SSH-nycklar

När du har slutfört stegen ovan 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 logga in på din server via SSH:

ssh remote_username@server_ip_address

Inaktiverar SSH-lösenordsautentisering

Inaktivering av lösenordsautentisering lägger till ett extra lager av säkerhet till din server.

Innan du inaktiverar autentisering av SSH-lösenord, se till att du kan logga in på din server 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 med din textredigerare:

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 genom att skriva:

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.

ubuntu ssh säkerhet