How to Enable SSH in Ubuntu 18.04 LTS / Ubuntu 20.04 (Install openssh-server)
Innehållsförteckning:
- Skapa SSH-nycklar på Ubuntu
- Kopiera den offentliga nyckeln till Ubuntu Server
- Logga in på din server med SSH-nycklar
- Inaktiverar SSH-lösenordsautentisering
- Slutsats
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äkerhetLedamöter av Europaparlamentet kommer att avgöra om en rad frågor, bland annat hur man reglerar telekomföretag i EU, hur man straffar företag som snedvrider konkurrensen, hur man delar radiofrekvenser som släpps av TV: s migrering till digital sändning och hur man skyddar medborgarnas data i den digitala tiden.
Men de är delade om huruvida IP-adresser ska ses som personuppgifter. "Vi kommer att be kommissionen att formellt lägga fram en rapport om detta", säger Malcolm Harbour, en brittisk konservativ parlamentsledamot som spelar en central roll för att hylla den så kallade telekomrevisionen genom parlamentet.
Hur man ställer in ssh-tunneling för att kringgå en brandvägg
En brandvägg är bra, men om det hindrar dig från att göra något är SSH-tunneln ett bra alternativ att utforska.
Hur man ställer in lösenordslös ssh-inloggning
I den här artikeln visar vi dig hur du ställer in en SSH-nyckelbaserad autentisering och ansluter till dina Linux-servrar utan att ange lösenord.







