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