Python >> Tutoriel Python >  >> Python Tag >> Linux

Création de clés SSH sur Ubuntu Linux 16.04 LTS

Les clés SSH sont une nécessité pour le développement Python lorsque vous travaillez avec Git, vous connectez à des serveurs distants et automatisez vos déploiements. Voyons comment générer des paires de clés SSH, qui contiennent à la fois une clé publique et une clé privée dans une seule paire, sur Ubuntu Linux.

Génération des clés publique et privée

Ouvrez une nouvelle fenêtre de terminal dans Ubuntu comme nous le voyons dans la capture d'écran suivante.

Le ssh-keygen La commande fournit une interface de ligne de commande interactive pour générer à la fois les clés publiques et privées. Appelez ssh-keygen avec le -t suivant et -b arguments pour nous assurer que nous obtenons une clé RSA de 4096 bits. Vous pouvez également spécifier votre adresse e-mail avec -C (sinon un sera généré à partir de votre compte Linux actuel) :

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

(Remarque :le -o l'option a été introduite en 2014 ; si cette commande échoue pour vous, supprimez simplement le -o option)

La première invite que vous verrez vous demandera où enregistrer la clé. Cependant, il y a en fait deux fichiers qui seront générés :la clé publique et la clé privée.

Generating public/private rsa key pair.
Enter file in which to save the key (/home/matt/.ssh/id_rsa): 

Cette invite fait référence à la clé privée et tout ce que vous entrez générera également un deuxième fichier pour la clé publique qui a le même nom et .pub annexé.

Si vous avez déjà une clé, vous devez spécifier un nouveau nom de fichier. J'utilise de nombreuses clés SSH, donc je les nomme généralement "test-deploy", "prod-deploy", "ci-server" avec un nom de projet unique. Le nommage est l'un de ces problèmes informatiques difficiles, alors prenez le temps de trouver un système qui fonctionne pour vous et l'équipe de développement avec laquelle vous travaillez !

Ensuite, vous verrez une invite pour une phrase de passe facultative :

Enter passphrase (empty for no passphrase):

Que vous souhaitiez ou non une phrase secrète dépend de la manière dont vous utiliserez la clé. Le système vous demandera la phrase secrète chaque fois que vous utiliserez la clé SSH afin qu'elle soit plus sécurisée. Cependant, si vous automatisez les déploiements avec un serveur d'intégration continue comme Jenkins, vous devrez ne veut pas de phrase de passe.

Sachez qu'il est impossible de récupérer une phrase secrète si elle est perdue. Conservez cette phrase de passe en toute sécurité, car sinon une clé entièrement nouvelle devrait être générée.

Entrez la phrase secrète (ou appuyez simplement sur Entrée pour ne pas avoir de phrase secrète) deux fois. Vous verrez une sortie comme celle-ci :

Your identification has been saved in /home/matt/.ssh/prod_deploy.
Your public key has been saved in /home/matt/.ssh/prod_deploy.pub.
The key fingerprint is:
SHA256:xoCWgk40XfM5mruZQNCVoBKXZ4d0gn09ivVENacb7xw [email protected]
The key's randomart image is:
+---[RSA 2048]----+
|.oo*==oo..o .    |
|.+*.*** =  +     |
|o+.++=.B .o      |
|+ .o. +oo  +     |
| . . o  S . E    |
|  .   ..   o .   |
|   . .      o    |
|    . +          |
|     +           |
+----[SHA256]-----+

Votre clé SSH est maintenant générée et prête à être utilisée !

Et maintenant ?

Maintenant que vous avez vos clés publiques et privées, je vous recommande de configurer un environnement de développement Python avec l'un des tutoriels suivants afin que vous puissiez commencer à coder :

  • Configuration de Python 3, Django et Gunicorn sur Ubuntu 16.04 LTS
  • Comment utiliser Redis avec Python 3 et redis-py sur Ubuntu 16.04
  • Configuration de PostgreSQL avec Python 3 et psycopg sur Ubuntu 16.04

ssh-keygen supplémentaire ressources de commande :

  • manuels ubuntu ssh-keygen
  • Générer une nouvelle clé SSH et l'ajouter au ssh-agent

Des questions? Contactez-moi via Twitter@fullstackpythonor @mattmakai. Je suis également sur GitHub avec le nom d'utilisateur mattmakai.

Vous voyez quelque chose qui ne va pas dans ce message ? La source de cette page sur GitHuband soumet une pull request.