Example #1
0
    def _annotate_hosts_with_ssh_config_info():
        from os.path import expanduser
        from paramiko.config import SSHConfig

        def hostinfo(host, config):
            hive = config.lookup(host)
            if 'hostname' in hive:
                host = hive['hostname']
            if 'user' in hive:
                host = '%s@%s' % (hive['user'], host)
            if 'port' in hive:
                host = '%s:%s' % (host, hive['port'])
            return host

        try:
            config_file = file(expanduser('~/.ssh/config'))
        except IOError:
            pass
        else:
            config = SSHConfig()
            config.parse(config_file)
            keys = [
                config.lookup(host).get('identityfile', None)
                for host in env.hosts
            ]
            env.key_filename = [
                expanduser(key) for key in keys if key is not None
            ]
            env.hosts = [hostinfo(host, config) for host in env.hosts]
Example #2
0
 def hostinfo(host, config):
     hive = config.lookup(host)
     if 'hostname' in hive:
         host = hive['hostname']
     if 'user' in hive:
         host = '%s@%s' % (hive['user'], host)
     if 'port' in hive:
         host = '%s:%s' % (host, hive['port'])
     return host
Example #3
0
 def hostinfo(host, config):
     hive = config.lookup(host)
     if 'hostname' in hive:
         host = hive['hostname']
     if 'user' in hive:
         host = '%s@%s' % (hive['user'], host)
     if 'port' in hive:
         host = '%s:%s' % (host, hive['port'])
     return host
Example #4
0
    def _annotate_hosts_with_ssh_config_info():
        from os.path import expanduser
        from paramiko.config import SSHConfig

        def hostinfo(host, config):
            hive = config.lookup(host)
            if 'hostname' in hive:
                host = hive['hostname']
            if 'user' in hive:
                host = '%s@%s' % (hive['user'], host)
            if 'port' in hive:
                host = '%s:%s' % (host, hive['port'])
            return host
        try:
            config_file = file(expanduser('~/.ssh/config'))
        except IOError:
            pass
        else:
            config = SSHConfig()
            config.parse(config_file)
            keys = [config.lookup(host).get('identityfile', None)
                for host in env.hosts]
            env.key_filename = [expanduser(key) for key in keys if key is not None]
            env.hosts = [hostinfo(host, config) for host in env.hosts]