Package paramiko :: Module config :: Class SSHConfig
[frames] | no frames]

Class SSHConfig

source code

object --+
         |
        SSHConfig

Representation of config information as stored in the format used by OpenSSH. Queries can be made via `lookup`. The format is described in OpenSSH's ``ssh_config`` man page. This class is provided primarily as a convenience to posix users (since the OpenSSH format is a de-facto standard on posix) but should work fine on Windows too.

.. versionadded:: 1.6

Instance Methods
 
__init__(self)
Create a new OpenSSH config object.
source code
 
parse(self, file_obj)
Read an OpenSSH config from the given file object.
source code
 
lookup(self, hostname)
Return a dict of config options for a given hostname.
source code

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Properties

Inherited from object: __class__

Method Details

__init__(self)
(Constructor)

source code 

Create a new OpenSSH config object.

Overrides: object.__init__

parse(self, file_obj)

source code 

Read an OpenSSH config from the given file object.

:param file file_obj: a file-like object to read the config file from

lookup(self, hostname)

source code 

Return a dict of config options for a given hostname.

The host-matching rules of OpenSSH's ``ssh_config`` man page are used, which means that all configuration options from matching host specifications are merged, with more specific hostmasks taking precedence. In other words, if ``"Port"`` is set under ``"Host *"`` and also ``"Host *.example.com"``, and the lookup is for ``"ssh.example.com"``, then the port entry for ``"Host *.example.com"`` will win out.

The keys in the returned dict are all normalized to lowercase (look for ``"port"``, not ``"Port"``. The values are processed according to the rules for substitution variable expansion in ``ssh_config``.

:param str hostname: the hostname to lookup