Configurer SSH pour un accès sans mot de passe

ssh

SSH, ou Secure Shell, est un shell sécurisé utilisé pour le accès à distance de tous types d'appareils aux serveurs, via un canal tunnellisé et protégé par cryptage, ce qui lui confère une sécurité qui empêche, ou du moins rend extrêmement difficile, que des tiers puissent intercepter le nom d'utilisateur ou le mot de passe. Dans le cas de * Nix, nous avons ce protocole disponible via OpenSSH, un ensemble de solutions client-serveur disponibles dans toutes les distributions Linux et plates-formes associées telles que * BSD.

Maintenant, si SSH nous offre un excellent niveau de sécurité, pourquoi voudrions-nous l'utiliser sans avoir besoin de saisir un mot de passe? Il peut y avoir plusieurs raisons, mais l'une qui se démarque généralement en tant que générateur est la nécessité de se connecter à distance via des scripts et d'effectuer des tâches de superutilisateur, et c'est que, comme nous le savons bien, il n'est pas conseillé de mettre ces données dans un script. Pour résoudre ce problème, nous allons voir comment générer des clés SSH pour pouvoir se connecter à distance sans avoir besoin d'un mot de passe.

Cela nous oblige générer une clé publique et une clé privée: le premier sera stocké sur le serveur auquel nous allons accéder et comme son nom l'indique nous pouvons l'envoyer ou le partager, et le second sera stocké sur l'appareil (ordinateur, smartphone, tablette) à partir duquel nous allons accéder audit serveur, et doit être gardé très soigneusement et utilisé uniquement par nous ou par des personnes en qui nous avons confiance.

En raison de ce qui est mentionné dans le paragraphe précédent, il est important de commenter que ce type de solution nécessite une très grande responsabilité dans le soin des appareils à partir desquels nous allons entrer dans un serveur, et c'est-à-dire que toute personne ayant accès à ils pourront le saisir sans avoir besoin de connaître le mot de passe, ce qui représente un très gros risque pour la sécurité. Avec ceci clarifié, voyons comment nous pouvons commencer, et pour cela, la première chose est d'avoir le démon SSH installé sur le serveur:

# apt-get install openssh-server

Nous devons maintenant créer le répertoire .ssh dans le répertoire utilisateur:

# mkdir -p $ HOME / .ssh

# chmod 0700 $ ACCUEIL / .ssh

# touchez $ HOME / .ssh / authorized_keys

Nous éditons le fichier / etc / ssh / sshd_config et nous vérifions que les lignes suivantes sont telles quelles:

PubkeyAuthentication oui

AuthorizedKeysFile% h / .ssh / allowed_keys

Maintenant, nous allons au client et exécutons:

ssh-keygen -t rsa

On nous dira que la clé est en cours de création, et il nous sera demandé de saisir le fichier dans lequel elle sera stockée (par défaut, elle sera chez nous, dans un dossier appelé /.ssh/id_rsa). Nous pouvons appuyer sur Entrée puisque cet emplacement nous sert parfaitement, puis nous appuyons à nouveau sur Entrée les deux fois qu'on nous le demande entrez une phrase secrète puisque, rappelez-vous, nous allons entrer à distance sans entrer de données donc nous ne voulons pas non plus de phrase.

Maintenant que nous avons la clé publique, nous devons la partager avec les ordinateurs auxquels nous allons nous connecter. En supposant que le serveur dont nous parlons a l'adresse 192.168.1.100, ce que vous devez faire est:

ssh-copy-id -i $ HOME / .ssh / id_rsa.pub root@192.168.1.100

Après la copie, nous serons invités à effectuer la connexion à distance pour tester les clés, et il faut tenir compte du fait que dans ce cas racine C'est le compte avec lequel nous allons accéder au serveur, donc si nous voulons le faire avec un autre utilisateur, nous devons modifier root pour le compte utilisateur avec lequel nous allons effectuer le accès via SSH.

Il ne reste plus qu'à redémarrer le serveur SSH pour qu'il prenne la nouvelle configuration:

# /etc/init.d/ssh redémarrer

Désormais, si nous voulons accéder à un deuxième serveur et le faire sans entrer de mot de passe, nous devons simplement lui envoyer la clé publique, avec laquelle nous répétons simplement la dernière étape, en changeant d'utilisateur et d'adresse IP si nécessaire:

ssh-copy-id -i $ HOME / .ssh / id_rsa.pub admin@192.168.1.228


Laisser un commentaire

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

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   siccatif dit

    Merci pour l'info mais rien… il n'y a aucun moyen….
    J'ai essayé toute la matinée et il me demande toujours mon mot de passe.
    Il y a quelque temps, j'ai essayé et je l'ai laissé comme impossible pour la même raison….
    Je crée ma clé sur mon Macbook, je la copie sur ma framboise dans ~ / .ssh / allowedKeys
    Je configure sshd.conf avec l'authentification publique et vérifie que le répertoire des clés est exactement là où se trouvent les clés. Je redémarre la framboise et lors de la connexion, elle me demande à nouveau le mot de passe
    Qu'est-ce qui peut échouer?

    1.    siccatif dit

      Après plusieurs heures à essayer beaucoup de choses, j'ai découvert qu'avec mon utilisateur créé, cela ne fonctionne jamais, mais avec l'utilisateur par défaut qui s'appelle "ubuntu", cela fonctionne la première fois.
      Des éclaircissements sur les raisons pour lesquelles cela peut arriver?
      Saludos y gracias