Ssh-Verbindungsnotiz mit ProxyCommand von ssh_config in Python

Hinweise zur ssh-Verbindung mit paramiko mit den folgenden Einstellungen in ssh_config und ssh-Verbindung zu app_host über 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

Sie können sich so verbinden. Probe zu sftp vorerst


import os
import paramiko


#Lookup SSH-Konfigurationsdatei
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)

#Stellen Sie eine Verbindung mit den ProxyCommand-Einstellungen her
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()        
#Der Rest ist normal
# sftp.put(src, dist)Oder
# sftp.get(src, dist)Oder

sftp.close()
ssh.close()

Recommended Posts

Ssh-Verbindungsnotiz mit ProxyCommand von ssh_config in Python
Ein Memo, dass ich eine Grundfunktion in Python mit Wiederholung geschrieben habe
Übung, dies in Python zu verwenden (schlecht)
Zusammenfassung der Excel-Operationen mit OpenPyXL in Python
Grundlagen des Eingabe- / Ausgabebildschirms mit tkinter in python3
Der Schmerz von gRPC mit Python. November 2019. (Persönliches Memo)
Objektäquivalenzbeurteilung in Python
Python: Grundlagen der Verwendung von Scikit-Learn ①
Python-Memo mit Perl --join
Implementierung der schnellen Sortierung in Python
Übersetzt mit Googletrans in Python
Verwenden des Python-Modus in der Verarbeitung
SSH-Verbindung mit öffentlichem Schlüssel
[Memo] Das Geheimnis kumulativer Zuweisungsanweisungen in Python-Funktionen
Ein Hinweis beim Erstellen eines gerichteten Diagramms mit Graphviz in Python
So entwickeln Sie in einer virtuellen Python-Umgebung [Memo]
Bildpixel-Manipulation in Python
[Python] Ein Memo häufig verwendeter Phrasen in Python-Skripten
GUI-Programmierung in Python mit Appjar
[Python] Operationsnotiz von Pandas DataFrame
Bilderfassung von Firefox mit Python
Vorsichtsmaßnahmen bei der Verwendung von Pit mit Python
Schreiben Sie mit dem ETE Toolkit verschiedene Formen phylogenetischer Bäume in Python
Zeitdelta in Python 2.7-Serie teilen
Trübungsentfernung mit Python detailEnhanceFilter
MySQL-automatische Escape-Funktion von Parametern in Python
Umgang mit JSON-Dateien in Python
Versuchen Sie es mit LevelDB mit Python (plyvel)
Audio-Wellenform-Anzeige in Python
"Python Startbook" Python3-kompatibles Memo
Verwendung globaler Variablen in Python-Funktionen
Holen Sie sich ein Kommunikationsmemo in Python
Mal sehen, wie man Eingaben in Python verwendet
Gesamtleistung in Python (mit Funktools)
Implementierung von Desktop-Benachrichtigungen mit Python
Separate Python-Diagramme (Memo)
Implementierung der ursprünglichen Sortierung in Python
Reversibles Verwürfeln von Ganzzahlen in Python
Versuchen Sie es mit LeapMotion mit Python
Suche nach Tiefenpriorität mit Stack in Python
Bei Verwendung regulärer Ausdrücke in Python
GUI-Erstellung in Python mit tkinter 2
Übung, dies in Python zu verwenden (schlecht)
[Python] [Word] [python-docx] Versuchen Sie, mit python-docx eine Vorlage für einen Wortsatz in Python zu erstellen
Impressionen von Personen mit Erfahrung in anderen Sprachen, die Python mit PyQ lernen
Python: Grundlagen der Bilderkennung mit CNN
Konvertierung der Zeichenfolge <-> Datum (Datum, Datum / Uhrzeit) in Python
Hinweise zur Verwendung von cChardet und python3-chardet in Python 3.3.1.
Informationen zum Erstellen einer GUI mit TKinter of Python
Versuchen Sie es mit der Wunderlist-API in Python
GUI-Erstellung in Python mit tkinter Teil 1
Holen Sie sich Suica Balance in Python (mit libpafe)
Hash-Passwörter langsam mit bcrypt in Python
[Lernnotiz] Grundlagen des Unterrichts mit Python
Allgemeine Relativitätstheorie in Python: Einführung
Versuchen Sie, die Kraken-API mit Python zu verwenden
Verwenden von venv in der Windows + Docker-Umgebung [Python]