Mémo de connexion SSH utilisant ProxyCommand de ssh_config en Python

Remarques sur la connexion ssh à l'aide de paramiko avec les paramètres suivants dans ssh_config et la connexion ssh à app_host via fumidai_host

Host fumidai_host
    User user_name
    Hostname xx.xx.xx.xx (<= GIP)
    IdentityFile ~/.ssh/hoge.pem


Host app_host
    HostName 192.168.0.1 (<= private ip)
    User user_name
    IdentityFile ~/.ssh/hoge.pem
    ProxyCommand ssh -W %h:%p fumidai_host

Vous pouvez vous connecter comme ça. Échantillon à sftp pour le moment


import os
import paramiko


#rechercher le fichier de configuration ssh
config_file = os.path.join(os.getenv('HOME'), '.ssh/config')
ssh_config = paramiko.SSHConfig()
ssh_config.parse(open(config_file, 'r'))
lkup = ssh_config.lookup(hostname)

#Se connecter à l'aide des paramètres ProxyCommand
ssh = paramiko.SSHClient()
ssh.load_system_host_keys()
ssh.connect(
    lkup['hostname'],
    username=lkup['user'],
    key_filename=lkup['identityfile'],
    sock=paramiko.ProxyCommand(lkup['proxycommand'])
)


sftp = ssh.open_sftp()        
#Le reste est normal
# sftp.put(src, dist)Ou
# sftp.get(src, dist)Ou

sftp.close()
ssh.close()

Recommended Posts

Mémo de connexion SSH utilisant ProxyCommand de ssh_config en Python
Un mémo que j'ai écrit une fonction de base en Python en utilisant la récurrence
Pratique d'utilisation de ceci en Python (mauvais)
Résumé des opérations Excel utilisant OpenPyXL en Python
Bases de l'écran d'entrée / sortie en utilisant tkinter en python3
La douleur de gRPC en utilisant Python. Novembre 2019. (Mémo personnel)
Jugement d'équivalence d'objet en Python
python: principes de base de l'utilisation de scikit-learn ①
mémo python utilisant perl --join
Implémentation du tri rapide en Python
Traduit à l'aide de googletrans en Python
Utilisation du mode Python dans le traitement
Connexion SSH à l'aide de la clé publique
[Mémo] Le mystère des instructions d'affectation cumulative dans les fonctions Python
Une note lors de la création d'un graphe dirigé à l'aide de Graphviz en Python
Comment développer dans un environnement virtuel Python [Memo]
Manipulation des pixels d'image en Python
[Python] Mémo des phrases fréquemment utilisées dans les scripts Python
Programmation GUI en Python avec Appjar
[Python] Mémo d'opération de pandas DataFrame
Capture d'image de Firefox en utilisant Python
Précautions lors de l'utilisation de Pit avec Python
Ecrire diverses formes d'arbres phylogénétiques en Python à l'aide de la boîte à outils ETE
Diviser timedelta dans la série Python 2.7
Suppression de la brume à l'aide de Python detailEnhanceFilter
Échappement automatique des paramètres MySQL en python
Gestion des fichiers JSON en Python
Essayez d'utiliser LevelDB avec Python (plyvel)
Affichage de la forme d'onde audio en Python
"Python startbook" mémo compatible python3
Utilisation de variables globales dans les fonctions python
Obtenir, publier un mémo de communication en Python
Voyons voir l'utilisation de l'entrée en python
Puissance totale en Python (en utilisant functools)
Implémentation des notifications de bureau à l'aide de Python
Graphiques Python séparés (mémo)
Implémentation du tri original en Python
Brouillage réversible d'entiers en Python
Essayez d'utiliser LeapMotion avec Python
Recherche de priorité de profondeur à l'aide de la pile en Python
Lors de l'utilisation d'expressions régulières en Python
Création d'interface graphique en python avec tkinter 2
Pratique d'utilisation de ceci en Python (mauvais)
[Python] [Word] [python-docx] Essayez de créer un modèle de phrase de mot en Python en utilisant python-docx
Impressions de personnes ayant de l'expérience dans d'autres langues apprenant Python à l'aide de PyQ
Python: principes de base de la reconnaissance d'image à l'aide de CNN
Conversion de la chaîne <-> date (date, datetime) en Python
Notes utilisant cChardet et python3-chardet dans Python 3.3.1.
À propos de la création de l'interface graphique à l'aide de TKinter de Python
Essayez d'utiliser l'API Wunderlist en Python
Création d'interface graphique en python à l'aide de tkinter partie 1
Obtenir l'équilibre Suica en Python (en utilisant libpafe)
Hachez lentement les mots de passe en utilisant bcrypt en Python
[Mémo d'apprentissage] Bases de la classe par python
Théorie générale de la relativité en Python: Introduction
Essayez d'utiliser l'API Kraken avec Python
Utilisation de venv dans un environnement Windows + Docker [Python]