Comment configurer la connexion SSH sans mot de passe

Secure Shell (SSH) est un protocole de réseau cryptographique utilisé pour la connexion sécurisée entre un client et un serveur et prend en charge divers mécanismes d’authentification. Les deux mécanismes les plus populaires sont l’authentification basée sur les mots de passe et l’authentification basée sur la clé publique.

dans ce tutoriel, nous allons vous montrer comment configurer une authentification basée sur une clé SSH ainsi que comment se connecter à votre serveur Linux sans entrer de mot de passe.,

Setup SSH Passwordless Login #

pour configurer une connexion SSH sans mot de passe sous Linux, il vous suffit de générer une clé d’authentification publique et de l’Ajouter aux hôtes distants~/.ssh/authorized_keys fichier.

Les étapes suivantes décrivent le processus de configuration de la connexion SSH sans mot de passe:

  1. Vérifiez la paire de clés SSH existante.

    avant de générer une nouvelle paire de clés SSH, Vérifiez d’abord si vous avez déjà une clé SSH sur votre machine cliente car vous ne souhaitez pas écraser vos clés existantes.,

    exécutez la commande ls suivante pour voir si des clés SSH existantes sont présentes:

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

    S’il existe des clés existantes, vous pouvez les utiliser et ignorer l’étape suivante ou sauvegarder les anciennes clés et en générer une nouvelle.

    Si vous voyez No such file or directory ou no matches found cela signifie que vous n’avez pas de clé SSH et vous pouvez passer à l’étape suivante et d’en générer un nouveau.

  2. Générer une nouvelle paire de clés SSH.,

    la commande suivante générera une nouvelle paire de clés SSH 4096 bits avec votre adresse e-mail comme commentaire:

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

    appuyez sur Enter pour accepter l’emplacement et le nom de fichier par défaut:

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

    suivant, l’outil ssh-keygen vous demandera de taper une phrase secrète sécurisée. Si vous voulez utiliser la phrase de passe, c’est à vous, si vous choisissez d’utiliser la phrase de passe, vous obtiendrez une couche supplémentaire de sécurité., Dans la plupart des cas, les développeurs et les administrateurs système utilisent SSH sans mot de passe car ils sont utiles pour les processus entièrement automatisés. Si vous ne voulez pas utiliser une phrase secrète, appuyez simplement sur Enter.,

    Enter passphrase (empty for no passphrase):

    l’intégralité de L’interaction ressemble à ceci:

    Pour être sûr que les clés SSH sont générés vous pouvez lister vos nouvelles clés privées et publiques avec:

    ls ~/.ssh/id_*
    /home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub
  3. Copier la clé publique

    Maintenant que vous avez généré une paire de clés SSH, afin d’être en mesure de vous connecter à votre serveur sans mot de passe, vous devez copier la clé publique sur le serveur que vous souhaitez gérer.,

    la façon La plus simple de copier votre clé publique de votre serveur est d’utiliser la commande ssh-copy-id. Sur votre machine locale type de terminal:

    ssh-copy-id remote_username@server_ip_address

    Vous serez invité à entrer le remote_username mot de passe:

    remote_username@server_ip_address's password:

    une Fois que l’utilisateur est authentifié, la clé publique sera annexé à l’utilisateur distant authorized_keys fichier et la connexion sera fermée.,

    Si, pour une raison quelconque, l’utilitairessh-copy-id n’est pas disponible sur votre ordinateur local, vous pouvez utiliser la commande suivante pour copier la clé publique:

    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"
  4. connectez-vous à votre serveur à l’aide de clés SSH

    Après avoir effectué les étapes ci-dessus, vous devriez pouvoir vous connecter au serveur distant sans être invité à entrer un mot de passe.

    Pour tester juste essayez de vous connecter à votre serveur via SSH:

    ssh remote_username@server_ip_address

    Si tout s’est bien passé, vous serez connecté immédiatement.,

la Désactivation de SSH Authentification par Mot de passe #

Pour ajouter une couche de sécurité supplémentaire à votre serveur, vous pouvez désactiver l’authentification par mot de passe SSH.

avant de désactiver L’authentification par mot de passe SSH, assurez-vous que vous pouvez vous connecter à votre serveur sans mot de passe et que l’utilisateur avec lequel vous vous connectez a les privilèges sudo.,torials décrivent comment configurer sudo access:

  • comment créer un utilisateur sudo sur Ubuntu
  • Comment créer un utilisateur sudo sur CentOS
  • Comment créer un utilisateur sudo sur Debian
  1. connectez-vous à votre serveur distant avec des clés SSH, soit en tant qu’utilisateur avec des privilèges sudo ou root:

    ssh sudo_user@server_ip_address
  2. ouvrez le fichier de configuration SSH /etc/ssh/sshd_config, recherchez les directives suivantes et modifiez comme suit:

    /etc/ssh/sshd_config
    PasswordAuthentication noChallengeResponseAuthentication noUsePAM no

    Une fois que vous avez terminé, enregistrez le fichier et redémarrez le service ssh.,

    Sur Ubuntu ou Debian, exécutez la commande suivante:

    sudo systemctl restart ssh

    Sur CentOS ou Fedora serveurs, exécutez la commande suivante:

    sudo systemctl restart sshd

Conclusion

Dans ce tutoriel, vous avez appris comment configurer une clé SSH authentification basée sur les, vous permettant de vous connecter à votre serveur distant sans fournir un mot de passe utilisateur. Vous pouvez ajouter la même clé à plusieurs services distants.

nous vous avons également montré comment désactiver L’authentification par mot de passe SSH et ajouter une couche de sécurité supplémentaire à votre serveur.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *