2 votes

SSH avec Python via des clés privées

Dans mon script, je dois effectuer un SSH vers un système distant en utilisant une clé privée et déposer le fichier dans son répertoire.

La commande que j'utilise pour entrer dans le système par SSH est la suivante :

ssh -i private_key localhost

Suivi de l'entrée standard :

Saisir la phrase de passe de la clé "private_key".

J'essaie de faire cela dans un script Python, mais je ne suis pas sûr de la façon d'écrire une commande et de passer une phrase d'authentification comme paramètre afin que toute la séquence puisse être automatisée.

Veuillez me suggérer un moyen d'y parvenir par le biais d'une bibliothèque (Paramiko SSHClient ) ou un extrait de code serait très apprécié.

2voto

Martin Prikryl Points 4584

SSHClient.connect peut gérer l'authentification par clé publique par un simple appel :

import paramiko

ssh = paramiko.SSHClient()
ssh.connect(hostname, username=username, key_filename=key_path, password=passphrase)

Les password est utilisé comme phrase d'authentification, lorsque l'option key_filename est fournie.


En outre, vous devrez également vérifier la clé d'hôte du serveur (comme vous avez dû le faire dans le cas de l'option ssh avant). Voir aussi Paramiko "Serveur inconnu" .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X