Lorsque nous travaillons avec un serveur distant ou un VPS (Virtual Private Server), établir une connexion sécurisée devient primordial. SSH (Secure Shell) offre une solution fiable en utilisant une paire de clés, comprenant une clé privée et une clé publique. Cet article guide à travers le processus de configuration SSH sur la machine locale en vue de se connecter sans mot de passe à un serveur distant.

Étape 1: Génération de la Clé ssh


Pour générer une paire de clés SSH sur votre machine locale, utilisez la commande `ssh-keygen` :

ssh-keygen


Lorsque vous êtes invité à spécifier le fichier où enregistrer la clé, appuyez sur Entrée pour utiliser le répertoire par défaut. Ensuite, vous serez invité à entrer et confirmer une passphrase pour sécuriser votre clé privée.

Étape 2: Compréhension des Clés Générées

Après la génération, deux fichiers seront créés dans le répertoire .ssh/ : id_rsa (clé privée) et id_rsa.pub (clé publique).

En vérifiant le contenu du répertoire .ssh :

cd ~/.ssh
ls

Rôle de la Clé Privée (id_rsa)

La clé privée est confidentielle et ne doit jamais être partagée. Elle permet de déchiffrer les messages chiffrés par la clé publique correspondante.

Rôle de la Clé Publique (id_rsa.pub)

La clé publique, par contre, peut être partagée librement. Elle permet à d'autres systèmes de vérifier l'identité du détenteur de la clé privée associée.


Connexion à un Serveur Distant

Maintenant, essayons de nous connecter à un serveur distant avec l'adresse "172.234.216.110" . Actuellement, l'accès est protégé par un mot de passe.

Copie de la Clé Publique sur le Serveur

Il existe deux méthodes pour copier la clé publique sur le serveur.

Méthode 1: Copie Manuelle

Utilisez la commande "cat" pour afficher le contenu de la clé publique, puis copiez-le sur le serveur dans le fichier ~/.ssh/authorized_keys :

cat ~/.ssh/id_rsa.pub

On prépare notre serveur distant pour la copie manuelle.

Connectez-vous au serveur distant via SSH et assurez-vous que le répertoire .ssh existe dans le répertoire personnel de l'utilisateur :

mkdir -p ~/.ssh

Si le répertoire .ssh existe déjà, vous pouvez passer à l'étape suivante. Ensuite, créez le fichier authorized_keys s'il n'existe pas :

touch ~/.ssh/authorized_keys
nano ~/.ssh/authorized_keys

Copiez et collez votre clé publique dans le fichier, puis sauvegardez.

“ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC+o9i+j60+LJxAtN4XCbOo10SpfjUssQt+ZMyhp6ZloVKUi/JsGmZ1j/9m052DLHPCKiDhwmJ75XjkCb/SqxkeBKBEiSgBeoU7YNtJOpYO4FRPr4e1gnhyZLvK/ZZNy2Wq6nay51bcMEa4RwYxV/Jenl27KbwhmR8SripCvW1mACsHXKJ82rkHDdlw+g3ugEH6BlEBHCp7KxREYp07P8Vh5GB5rKowCM0p2N5jD7CWoE+JZzxTq2m1Z+/2vA+I7EFkZF9WQG25W3lP7qpCicI8cAcGS3SPtEnlpvLsWIgYmqPnMs0e19tucZK4f4u2asGz4wZW7Slc+0Zp4hZrXZX3FSR/PZGt6xY8t8lnnsEA2PIFQiyY+wIGtq391zUSnCulyqzb4UBbgdxbrKyPgIHSuPn3J5tLWGSJhfaVcn+42hlMNKxF8oLvAyrpulSp/CZ6Bwl3E6XHSWgePjlymHD/EmmGKUikisOODW0oqpsVpj3kbwfLAZK/8ZVDurhZOi8= local@localhost


Maintenant, nous pouvons nous connecter à notre serveur distant depuis notre machine locale sans que le mot de passe nous soit demandé :


Méthode 2: Utilisation de ssh-copy-id

Une méthode plus rapide consiste à utiliser la commande ssh-copy-id. Exemple :

Assurez-vous que l'agent SSH est en cours d'exécution sur votre machine locale

eval $(ssh-agent)

Ensuite, ajoutez votre clé privée à l'agent SSH. Vous serez invité à entrer votre passphrase, renseignez-la pour ne pas la saisir à chaque connexion :

ssh-add ~/.ssh/id_rsa

on vous demandera votre passphrase renseigner la .Pour ne pas que à chaque fois elle vous soit demandé

Et enfin tapez cette commande pour vous qui va copier votre clé public sur la machine distante automatiquement

ssh-copy-id -i ~/.ssh/id_rsa.pub server@172.234.216.110

Cette commande transfère automatiquement la clé publique sur le serveur et met à jour le fichier `authorized_keys`.


Conclusion

En maîtrisant la configuration SSH, non seulement nous améliorons la sécurité de nos connexions, mais nous facilitons également l'automatisation des déploiements et autres processus, contribuant ainsi à une gestion plus efficace des serveurs distants. La connexion sécurisée devient une compétence essentielle pour tout administrateur système.


#linode #akamai #ubuntu #linux #eroamba #vps #ssh