Android

Så här ställer du in ssh-nycklar på centos 7

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 är utformat för en säker anslutning mellan en klient och en server.

De två mest populära SSH-autentiseringsmekanismerna är lösenordsbaserad autentisering och public-key-baserad autentisering. Att använda SSH-nycklar är i allmänhet säkrare och bekvämare än traditionell lösenordsautentisering.

Denna handledning förklarar hur man genererar SSH-nycklar på CentOS 7-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å CentOS

Innan du skapar ett nytt SSH-nyckelpar är det en bra idé att kontrollera om befintliga SSH-nycklar finns på din CentOS-klientmaskin.

För att göra det, kör följande ls-kommando som visar alla offentliga nycklar om det finns några:

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

Om utgången från kommandot returnerar 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.

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

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

Du blir ombedd att ange filnamnet:

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

Tryck på Enter att acceptera standardfilplatsen och filnamnet.

Därefter blir du ombedd 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 CentOS Server

Nu när SSH-nyckelparet genereras ä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 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:

Skriv in lösenordet och när användaren har verifierats kommer den offentliga nyckeln ~/.ssh/id_rsa.pub att bifogas ~/.ssh/id_rsa.pub . Anslutningen kommer att stängas.

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, använd 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 verifiera det, försök att logga in på din server via SSH:

ssh remote_username@server_ip_address

Inaktiverar SSH-lösenordsautentisering

Om du vill lägga till ett ytterligare säkerhetslager på din fjärrserver kan du inaktivera SSH-lösenordsverifiering.

Innan du fortsätter, se till att du kan logga in på din server utan lösenord som en användare med sudo-privilegier.

Följ stegen nedan för att inaktivera autentisering av SSH-lösenord:

  1. 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 SSH-lösenordsautentisering 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.

centos ssh säkerhet