Home | Trees | Indices | Help |
---|
|
object --+ | _abcoll.Sized --+ | object --+ | | | _abcoll.Iterable --+ | object --+ | | | _abcoll.Container --+ | _abcoll.Mapping --+ | _abcoll.MutableMapping --+ | HostKeys
Representation of an OpenSSH-style "known hosts" file. Host keys can be read from one or more files, and then individual hosts can be looked up to verify server keys during SSH negotiation.
A `.HostKeys` object can be treated like a dict; any dict lookup is equivalent to calling `lookup`.
.. versionadded:: 1.5.3
Nested Classes | |
Inherited from |
Instance Methods | |||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
None |
|
||
|
|||
|
|||
|
|||
|
|||
|
|||
list of D's keys |
|
||
list of D's values |
|
||
Inherited from Inherited from Inherited from |
Class Methods | |
Inherited from |
Static Methods | |||
|
Class Variables | |
__abstractmethods__ =
|
|
Inherited from |
Properties | |
Inherited from |
Method Details |
Create a new HostKeys object, optionally loading keys from an OpenSSH style host-key file. :param str filename: filename to load host keys from, or ``None``
|
Add a host key entry to the table. Any existing entry for a ``(hostname, keytype)`` pair will be replaced. :param str hostname: the hostname (or IP) to add :param str keytype: key type (``"ssh-rsa"`` or ``"ssh-dss"``) :param .PKey key: the key to add |
Read a file of known SSH host keys, in the format used by OpenSSH. This type of file unfortunately doesn't exist on Windows, but on posix, it will usually be stored in ``os.path.expanduser("~/.ssh/known_hosts")``. If this method is called multiple times, the host keys are merged, not cleared. So multiple calls to `load` will just call `add`, replacing any existing entries and adding new ones. :param str filename: name of the file to read host keys from :raises IOError: if there was an error reading the file |
Save host keys into a file, in the format used by OpenSSH. The order of keys in the file will be preserved when possible (if these keys were loaded from a file originally). The single exception is that combined lines will be split into individual key lines, which is arguably a bug. :param str filename: name of the file to write :raises IOError: if there was an error writing the file .. versionadded:: 1.6.1 |
Find a hostkey entry for a given hostname or IP. If no entry is found, ``None`` is returned. Otherwise a dictionary of keytype to key is returned. The keytype will be either ``"ssh-rsa"`` or ``"ssh-dss"``. :param str hostname: the hostname (or IP) to lookup :return: dict of `str` -> `.PKey` keys associated with this host (or ``None``) |
Return True if the given key is associated with the given hostname in this dictionary. :param str hostname: hostname (or IP) of the SSH server :param .PKey key: the key to check :return: ``True`` if the key is associated with the hostname; else ``False`` |
Remove all host keys from the dictionary.
|
|
|
|
|
|
|
|
Return a "hashed" form of the hostname, as used by OpenSSH when storing hashed hostnames in the known_hosts file. :param str hostname: the hostname to hash :param str salt: optional salt to use when hashing (must be 20 bytes long) :return: the hashed hostname as a `str` |
Home | Trees | Indices | Help |
---|
Generated by Epydoc 3.0.1 on Mon Apr 13 14:18:21 2015 | http://epydoc.sourceforge.net |