Server / Client - SSH Secure Shell
Innehållsförteckning:
Secure Shell (SSH) är ett kryptografiskt nätverksprotokoll som används för 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.
I den här tutorialen visar vi dig hur du ställer in en SSH-nyckelbaserad autentisering samt hur du ansluter till din Linux-server utan att ange ett lösenord.
Ställ in SSH-lösenordsfri inloggning
För att ställa in en lösenordsfri SSH-inloggning i Linux behöver du bara generera en offentlig autentiseringsnyckel och lägga till den till
~/.ssh/authorized_keys
filen.
Följande steg beskriver processen för att konfigurera lösenordsfri SSH-inloggning:
-
Sök efter befintligt SSH-nyckelpar.
Innan du genererar ett nytt SSH-nyckelpar bör du först kontrollera om du redan har en SSH-nyckel på din klientmaskin eftersom du inte vill skriva över dina befintliga nycklar.
Kör följande ls-kommando för att se om befintliga SSH-nycklar finns:
ls -al ~/.ssh/id_*.pubOm det finns befintliga nycklar kan du antingen använda dessa och hoppa över nästa steg eller ta backup av de gamla nycklarna och skapa en ny.
Generera ett nytt SSH-nyckelpar.
Följande kommando genererar ett nytt 4096 bitar SSH-nyckelpar med din e-postadress som en kommentar:
ssh-keygen -t rsa -b 4096 -C "[email protected]"Tryck på
Enteratt acceptera standardfilplatsen och filnamnet:Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):Därefter ber
ssh-keygenverktyget dig 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. I de flesta fall använder utvecklare och systemadministratörer SSH utan lösenfras eftersom de är användbara för helautomatiska processer. Om du inte vill använda lösenfras trycker du bara påEnterEnter passphrase (empty for no passphrase):Hela interaktionen ser ut så här:

För att vara säker på att SSH-nycklarna genereras kan du lista dina nya privata och offentliga nycklar med:
ls ~/.ssh/id_*/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pubKopiera den offentliga nyckeln
Nu när du har skapat ett SSH-nyckelpar måste du kopiera den offentliga nyckeln till den server du vill hantera för att kunna logga in på din server utan lösenord.
Det enklaste sättet att kopiera din offentliga nyckel till din server är att använda ett kommando som heter
ssh-copy-id. På din lokala maskinterminal typ:ssh-copy-id remote_username@server_ip_addressDu blir ombedd att ange lösenordet för
remote_username:remote_username@server_ip_address's password:När användaren har verifierats läggs den offentliga nyckeln till filen för
authorized_keysautoriserad_tangent och anslutningen stängs.Om
ssh-copy-idverktyget 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 om ett lösenord.
För att testa det, försök bara logga in på din server via SSH:
ssh remote_username@server_ip_addressOm allt gick bra kommer du att logga in omedelbart.
Inaktiverar SSH-lösenordsautentisering
För att lägga till ett extra lager av säkerhet på din server kan du inaktivera lösenordsverifiering för SSH.
Innan du inaktiverar autentiseringen av SSH-lösenord, se till att du kan logga in på din server utan ett lösenord och att användaren du loggar in med har sudo-behörigheter.
Följande handledning beskriver hur du konfigurerar sudo-åtkomst:
-
Logga in på din fjärrserver med SSH-nycklar, antingen som en användare med sudo-privilegier eller root:
ssh sudo_user@server_ip_addressÖppna SSH-konfigurationsfilen
/ Etc / ssh / sshd_config/etc/ssh/sshd_config, sök efter följande direktiv och ändra enligt följande:PasswordAuthentication no ChallengeResponseAuthentication no UsePAM noNär du är klar sparar du filen och startar om SSH-tjänsten.
Kör följande kommando på Ubuntu- eller Debian-servrar:
sudo systemctl restart sshKör följande kommando på CentOS- eller Fedora-servrar:
sudo systemctl restart sshd
Slutsats
I denna handledning har du lärt dig hur du ställer in en SSH-nyckelbaserad autentisering, så att du kan logga in på din fjärrserver utan att ange ett användarlösenord. Du kan lägga till samma nyckel till flera fjärrserver.
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.
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 ssh-nycklar på debian 9
I denna handledning kommer vi att beskriva hur man skapar SSH-nycklar på Debian 9-system. Vi kommer också att visa dig hur du konfigurerar en SSH-nyckelbaserad autentisering och ansluter till dina fjärr Linux-servrar utan att ange ett lösenord.








