Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- #-*- coding:utf8 -*-
- # sources
- # 1. https://gist.github.com/tell-k/4943359#file-paramiko_proxycommand_sample-py-L11
- # 2. https://github.com/paramiko/paramiko/pull/97
- # info: http://bitprophet.org/blog/2012/11/05/gateway-solutions/
- # local -> proxy-server -> dest-server
- # ~/.ssh/config
- #
- # Host proxy-server
- # User hoge
- # HostName proxy.example.com
- # IdentityFile ~/.ssh/id_rsa_proxy
- #
- # Host dest-server
- # User fuga
- # HostName proxy.example.com
- # IdentityFile ~/.ssh/id_rsa_dest
- # ProxyCommand ssh proxy-server nc %h %p
- #
- import os
- import sys
- import paramiko
- def test_client(host_name):
- conf = paramiko.SSHConfig()
- conf.parse(open(os.path.expanduser('~/.ssh/config')))
- host = conf.lookup(host_name)
- client = paramiko.SSHClient()
- client.load_system_host_keys()
- client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
- client.connect(
- host['taurus.fis.agh.edu.pl'], username=host['2goral'],
- # if you have a key file
- # key_filename=host['identityfile'],
- password='Pervetprev93',
- sock=paramiko.ProxyCommand(host.get('ssh -A 2goral@taurus.fis.agh.edu.pl nc %h %p'))
- )
- stdin, stdout, stderr = client.exec_command('command to run on dest-host')
- print(stdout.read())
- if __name__ == '__main__':
- test_client('lhcbgpu1')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement