Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-paramiko for openSUSE:Factory 
checked in at 2022-11-22 16:09:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-paramiko (Old)
 and      /work/SRC/openSUSE:Factory/.python-paramiko.new.1597 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-paramiko"

Tue Nov 22 16:09:15 2022 rev:56 rq:1036980 version:2.12.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-paramiko/python-paramiko.changes  
2022-05-30 12:43:19.852341060 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-paramiko.new.1597/python-paramiko.changes    
    2022-11-22 16:09:17.045756050 +0100
@@ -1,0 +2,27 @@
+Sun Nov 20 18:38:07 UTC 2022 - Ben Greiner <c...@bnavigator.de>
+
+- Update to 2.12.0
+  * [Feature] #2125: (also re: #2054) Add a transport_factory kwarg
+    to SSHClient.connect for advanced users to gain more control
+    over early Transport setup and manipulation. Thanks to Noah
+    Pederson for the patch.
+- Release 2.11.1
+  * [Bug]: bug:1637 (via #1599) Raise SSHException explicitly when
+    blank private key data is loaded, instead of the natural result
+    of IndexError. This should help more bits of Paramiko or
+    Paramiko-adjacent codebases to correctly handle this class of
+    error. Credit: Nicholas Dietz.
+  * [Bug] #1822: (via, and relating to, far too many other issues
+    to mention here) Update SSHClient so it explicitly closes its
+    wrapped socket object upon encountering socket errors at
+    connection time. This should help somewhat with certain classes
+    of memory leaks, resource warnings, and/or errors (though we
+    hasten to remind everyone that Client and Transport have their
+    own .close() methods for use in non-error situations!). Patch
+    courtesy of @YoavCohen.
+- Rename and refresh:
+  - paramiko-pr1655-remove-pytest-relaxed.patch
+  + paramiko-pr1665-remove-pytest-relaxed.patch
+  * gh#paramiko/paramiko#1665
+
+-------------------------------------------------------------------

Old:
----
  paramiko-2.11.0.tar.gz
  paramiko-pr1655-remove-pytest-relaxed.patch

New:
----
  paramiko-2.12.0.tar.gz
  paramiko-pr1665-remove-pytest-relaxed.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-paramiko.spec ++++++
--- /var/tmp/diff_new_pack.Gd7CZq/_old  2022-11-22 16:09:18.209761965 +0100
+++ /var/tmp/diff_new_pack.Gd7CZq/_new  2022-11-22 16:09:18.221762026 +0100
@@ -16,10 +16,9 @@
 #
 
 
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
 %define skip_python2 1
 Name:           python-paramiko
-Version:        2.11.0
+Version:        2.12.0
 Release:        0
 Summary:        SSH2 protocol library
 License:        LGPL-2.1-or-later
@@ -27,8 +26,8 @@
 URL:            https://www.paramiko.org/
 Source0:        
https://files.pythonhosted.org/packages/source/p/paramiko/paramiko-%{version}.tar.gz
 Patch0:         paramiko-test_extend_timeout.patch
-# PATCH-FIX-UPSTREAM paramiko-pr1655-remove-pytest-relaxed.patch 
gh#paramiko/paramiko#1655 -- pytest-relaxed is broken
-Patch1:         paramiko-pr1655-remove-pytest-relaxed.patch
+# PATCH-FIX-UPSTREAM paramiko-pr1665-remove-pytest-relaxed.patch 
gh#paramiko/paramiko#1665 -- pytest-relaxed is broken
+Patch1:         paramiko-pr1665-remove-pytest-relaxed.patch
 BuildRequires:  %{python_module PyNaCl >= 1.0.1}
 BuildRequires:  %{python_module bcrypt >= 3.1.3}
 BuildRequires:  %{python_module cryptography >= 2.5}
@@ -39,6 +38,7 @@
 BuildRequires:  %{python_module pytest-xdist}
 BuildRequires:  %{python_module pytest}
 BuildRequires:  %{python_module setuptools}
+BuildRequires:  %{python_module six}
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
 Recommends:     python-gssapi
@@ -47,6 +47,7 @@
 Requires:       python-bcrypt >= 3.1.3
 Requires:       python-cryptography >= 2.5
 Requires:       python-pyasn1 >= 0.1.7
+Requires:       python-six
 BuildArch:      noarch
 %python_subpackages
 
@@ -70,11 +71,9 @@
 This package contains the documentation.
 
 %prep
-%setup -q -n paramiko-%{version}
-%autopatch -p1
-
+%autosetup -p1 -n paramiko-%{version}
 # Fix non-executable script rpmlint issue:
-find demos -name "*.py" -exec sed -i "/#\!\/usr\/bin\/.*/d" {} \;
+find demos -name "*.py" -exec sed -i "/#\!\/usr\/bin\/.*/d" {} \; -exec chmod 
-x {} \;
 
 %build
 %python_build
@@ -84,7 +83,7 @@
 %python_expand %fdupes %{buildroot}%{$python_sitelib}
 
 %check
-# https://github.com/paramiko/paramiko/issues/2027
+# https://github.com/paramiko/paramiko/issues/2027 -- despite being 
"completed" upstream, this is not fixed yet.
 sed -i 's:from mock:from unittest.mock:' tests/test_*.py
 export LANG=en_US.UTF-8
 %pytest
@@ -92,7 +91,8 @@
 %files %{python_files}
 %license LICENSE
 %doc README.rst
-%{python_sitelib}/*
+%{python_sitelib}/paramiko
+%{python_sitelib}/paramiko-%{version}*-info
 
 %files -n python-paramiko-doc
 %license LICENSE

++++++ paramiko-2.11.0.tar.gz -> paramiko-2.12.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/paramiko-2.11.0/PKG-INFO new/paramiko-2.12.0/PKG-INFO
--- old/paramiko-2.11.0/PKG-INFO        2022-05-17 03:06:27.000000000 +0200
+++ new/paramiko-2.12.0/PKG-INFO        2022-11-04 23:32:46.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: paramiko
-Version: 2.11.0
+Version: 2.12.0
 Summary: SSH2 protocol library
 Home-page: https://paramiko.org
 Author: Jeff Forcier
@@ -77,7 +77,7 @@
 Classifier: Programming Language :: Python :: 3.7
 Classifier: Programming Language :: Python :: 3.8
 Classifier: Programming Language :: Python :: 3.9
-Provides-Extra: gssapi
 Provides-Extra: all
-Provides-Extra: invoke
+Provides-Extra: gssapi
 Provides-Extra: ed25519
+Provides-Extra: invoke
Binary files old/paramiko-2.11.0/docs/.doctrees/api/client.doctree and 
new/paramiko-2.12.0/docs/.doctrees/api/client.doctree differ
Binary files old/paramiko-2.11.0/docs/.doctrees/environment.pickle and 
new/paramiko-2.12.0/docs/.doctrees/environment.pickle differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/paramiko-2.11.0/docs/api/client.html 
new/paramiko-2.12.0/docs/api/client.html
--- old/paramiko-2.11.0/docs/api/client.html    2022-05-17 03:06:26.000000000 
+0200
+++ new/paramiko-2.12.0/docs/api/client.html    2022-11-04 23:32:45.000000000 
+0100
@@ -193,7 +193,7 @@
 
 <dl class="method">
 <dt id="paramiko.client.SSHClient.connect">
-<code class="descname">connect</code><span 
class="sig-paren">(</span><em>hostname</em>, <em>port=22</em>, 
<em>username=None</em>, <em>password=None</em>, <em>pkey=None</em>, 
<em>key_filename=None</em>, <em>timeout=None</em>, <em>allow_agent=True</em>, 
<em>look_for_keys=True</em>, <em>compress=False</em>, <em>sock=None</em>, 
<em>gss_auth=False</em>, <em>gss_kex=False</em>, <em>gss_deleg_creds=True</em>, 
<em>gss_host=None</em>, <em>banner_timeout=None</em>, 
<em>auth_timeout=None</em>, <em>gss_trust_dns=True</em>, 
<em>passphrase=None</em>, <em>disabled_algorithms=None</em><span 
class="sig-paren">)</span><a class="headerlink" 
href="#paramiko.client.SSHClient.connect" title="Permalink to this 
definition">¶</a></dt>
+<code class="descname">connect</code><span 
class="sig-paren">(</span><em>hostname</em>, <em>port=22</em>, 
<em>username=None</em>, <em>password=None</em>, <em>pkey=None</em>, 
<em>key_filename=None</em>, <em>timeout=None</em>, <em>allow_agent=True</em>, 
<em>look_for_keys=True</em>, <em>compress=False</em>, <em>sock=None</em>, 
<em>gss_auth=False</em>, <em>gss_kex=False</em>, <em>gss_deleg_creds=True</em>, 
<em>gss_host=None</em>, <em>banner_timeout=None</em>, 
<em>auth_timeout=None</em>, <em>gss_trust_dns=True</em>, 
<em>passphrase=None</em>, <em>disabled_algorithms=None</em>, 
<em>transport_factory=None</em><span class="sig-paren">)</span><a 
class="headerlink" href="#paramiko.client.SSHClient.connect" title="Permalink 
to this definition">¶</a></dt>
 <dd><p>Connect to an SSH server and authenticate to it.  The server’s host 
key
 is checked against the system host keys (see <a class="reference internal" 
href="#paramiko.client.SSHClient.load_system_host_keys" 
title="paramiko.client.SSHClient.load_system_host_keys"><code class="xref py 
py-obj docutils literal"><span 
class="pre">load_system_host_keys</span></code></a>)
 and any local host keys (<a class="reference internal" 
href="#paramiko.client.SSHClient.load_host_keys" 
title="paramiko.client.SSHClient.load_host_keys"><code class="xref py py-obj 
docutils literal"><span class="pre">load_host_keys</span></code></a>).  If the 
server’s hostname
@@ -261,6 +261,11 @@
 an authentication response.</li>
 <li><strong>disabled_algorithms</strong> (<a class="reference external" 
href="https://docs.python.org/2.7/library/stdtypes.html#dict"; title="(in Python 
v2.7)"><em>dict</em></a>) – an optional dict passed directly to <a 
class="reference internal" href="transport.html#paramiko.transport.Transport" 
title="paramiko.transport.Transport"><code class="xref py py-obj docutils 
literal"><span class="pre">Transport</span></code></a> and its keyword
 argument of the same name.</li>
+<li><strong>transport_factory</strong> – an optional callable which is 
handed a subset of the constructor
+arguments (primarily those related to the socket, GSS
+functionality, and algorithm selection) and generates a
+<a class="reference internal" 
href="transport.html#paramiko.transport.Transport" 
title="paramiko.transport.Transport"><code class="xref py py-obj docutils 
literal"><span class="pre">Transport</span></code></a> instance to be used by 
this client. Defaults to
+<a class="reference internal" 
href="transport.html#paramiko.transport.Transport.__init__" 
title="paramiko.transport.Transport.__init__"><code class="xref py py-obj 
docutils literal"><span class="pre">Transport.__init__</span></code></a>.</li>
 </ul>
 </td>
 </tr>
@@ -293,6 +298,9 @@
 <div class="versionchanged">
 <p><span class="versionmodified">Changed in version 2.6: </span>Added the 
<code class="docutils literal"><span 
class="pre">disabled_algorithms</span></code> argument.</p>
 </div>
+<div class="versionchanged">
+<p><span class="versionmodified">Changed in version 2.12: </span>Added the 
<code class="docutils literal"><span 
class="pre">transport_factory</span></code> argument.</p>
+</div>
 </dd></dl>
 
 <dl class="method">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/paramiko-2.11.0/docs/searchindex.js 
new/paramiko-2.12.0/docs/searchindex.js
--- old/paramiko-2.11.0/docs/searchindex.js     2022-05-17 03:06:26.000000000 
+0200
+++ new/paramiko-2.12.0/docs/searchindex.js     2022-11-04 23:32:46.000000000 
+0100
@@ -1 +1 @@
-Search.setIndex({docnames:["api/agent","api/buffered_pipe","api/channel","api/client","api/config","api/file","api/hostkeys","api/kex_gss","api/keys","api/message","api/packet","api/pipe","api/proxy","api/server","api/sftp","api/ssh_exception","api/ssh_gss","api/transport","index"],envversion:53,filenames:["api/agent.rst","api/buffered_pipe.rst","api/channel.rst","api/client.rst","api/config.rst","api/file.rst","api/hostkeys.rst","api/kex_gss.rst","api/keys.rst","api/message.rst","api/packet.rst","api/pipe.rst","api/proxy.rst","api/server.rst","api/sftp.rst","api/ssh_exception.rst","api/ssh_gss.rst","api/transport.rst","index.rst"],objects:{"paramiko.agent":{Agent:[0,1,1,""],AgentClientProxy:[0,1,1,""],AgentKey:[0,1,1,""],AgentLocalProxy:[0,1,1,""],AgentProxyThread:[0,1,1,""],AgentRemoteProxy:[0,1,1,""],AgentRequestHandler:[0,1,1,""],AgentServerProxy:[0,1,1,""],get_agent_connection:[0,4,1,""]},"paramiko.agent.Agent":{close:[0,2,1,""],get_keys:[0,2,1,""]},"paramiko.agent.AgentClientP
 
roxy":{close:[0,2,1,""],connect:[0,2,1,""]},"paramiko.agent.AgentKey":{can_sign:[0,2,1,""],from_private_key:[0,2,1,""],from_private_key_file:[0,2,1,""],get_base64:[0,2,1,""],get_bits:[0,2,1,""],get_fingerprint:[0,2,1,""],load_certificate:[0,2,1,""],verify_ssh_sig:[0,2,1,""],write_private_key:[0,2,1,""],write_private_key_file:[0,2,1,""]},"paramiko.agent.AgentLocalProxy":{daemon:[0,3,1,""],get_connection:[0,2,1,""],ident:[0,3,1,""],isAlive:[0,2,1,""],is_alive:[0,2,1,""],join:[0,2,1,""],name:[0,3,1,""],start:[0,2,1,""]},"paramiko.agent.AgentProxyThread":{daemon:[0,3,1,""],ident:[0,3,1,""],isAlive:[0,2,1,""],is_alive:[0,2,1,""],join:[0,2,1,""],name:[0,3,1,""],start:[0,2,1,""]},"paramiko.agent.AgentRemoteProxy":{daemon:[0,3,1,""],ident:[0,3,1,""],isAlive:[0,2,1,""],is_alive:[0,2,1,""],join:[0,2,1,""],name:[0,3,1,""],start:[0,2,1,""]},"paramiko.agent.AgentServerProxy":{close:[0,2,1,""],get_env:[0,2,1,""],get_keys:[0,2,1,""]},"paramiko.buffered_pipe":{BufferedPipe:[1,1,1,""],PipeTimeout:[1
 
,5,1,""]},"paramiko.buffered_pipe.BufferedPipe":{__len__:[1,2,1,""],__weakref__:[1,3,1,""],close:[1,2,1,""],empty:[1,2,1,""],feed:[1,2,1,""],read:[1,2,1,""],read_ready:[1,2,1,""],set_event:[1,2,1,""]},"paramiko.buffered_pipe.PipeTimeout":{__weakref__:[1,3,1,""]},"paramiko.channel":{Channel:[2,1,1,""],ChannelFile:[2,1,1,""],ChannelStderrFile:[2,1,1,""],ChannelStdinFile:[2,1,1,""],open_only:[2,4,1,""]},"paramiko.channel.Channel":{__init__:[2,2,1,""],__repr__:[2,2,1,""],active:[2,3,1,""],chanid:[2,3,1,""],close:[2,2,1,""],closed:[2,3,1,""],exec_command:[2,2,1,""],exit_status_ready:[2,2,1,""],fileno:[2,2,1,""],get_id:[2,2,1,""],get_name:[2,2,1,""],get_pty:[2,2,1,""],get_transport:[2,2,1,""],getpeername:[2,2,1,""],gettimeout:[2,2,1,""],invoke_shell:[2,2,1,""],invoke_subsystem:[2,2,1,""],makefile:[2,2,1,""],makefile_stderr:[2,2,1,""],makefile_stdin:[2,2,1,""],recv:[2,2,1,""],recv_exit_status:[2,2,1,""],recv_ready:[2,2,1,""],recv_stderr:[2,2,1,""],recv_stderr_ready:[2,2,1,""],remote_chanid
 
:[2,3,1,""],request_forward_agent:[2,2,1,""],request_x11:[2,2,1,""],resize_pty:[2,2,1,""],send:[2,2,1,""],send_exit_status:[2,2,1,""],send_ready:[2,2,1,""],send_stderr:[2,2,1,""],sendall:[2,2,1,""],sendall_stderr:[2,2,1,""],set_combine_stderr:[2,2,1,""],set_environment_variable:[2,2,1,""],set_name:[2,2,1,""],setblocking:[2,2,1,""],settimeout:[2,2,1,""],shutdown:[2,2,1,""],shutdown_read:[2,2,1,""],shutdown_write:[2,2,1,""],transport:[2,3,1,""],update_environment:[2,2,1,""]},"paramiko.channel.ChannelFile":{__repr__:[2,2,1,""]},"paramiko.client":{AutoAddPolicy:[3,1,1,""],MissingHostKeyPolicy:[3,1,1,""],RejectPolicy:[3,1,1,""],SSHClient:[3,1,1,""],WarningPolicy:[3,1,1,""]},"paramiko.client.MissingHostKeyPolicy":{__weakref__:[3,3,1,""],missing_host_key:[3,2,1,""]},"paramiko.client.SSHClient":{__init__:[3,2,1,""],close:[3,2,1,""],connect:[3,2,1,""],exec_command:[3,2,1,""],get_host_keys:[3,2,1,""],get_transport:[3,2,1,""],invoke_shell:[3,2,1,""],load_host_keys:[3,2,1,""],load_system_host_k
 
eys:[3,2,1,""],open_sftp:[3,2,1,""],save_host_keys:[3,2,1,""],set_log_channel:[3,2,1,""],set_missing_host_key_policy:[3,2,1,""]},"paramiko.config":{LazyFqdn:[4,1,1,""],SSHConfig:[4,1,1,""],SSHConfigDict:[4,1,1,""]},"paramiko.config.LazyFqdn":{__weakref__:[4,3,1,""]},"paramiko.config.SSHConfig":{__init__:[4,2,1,""],__weakref__:[4,3,1,""],canonicalize:[4,2,1,""],from_file:[4,6,1,""],from_path:[4,6,1,""],from_text:[4,6,1,""],get_hostnames:[4,2,1,""],lookup:[4,2,1,""],parse:[4,2,1,""]},"paramiko.config.SSHConfigDict":{__weakref__:[4,3,1,""],as_bool:[4,2,1,""],as_int:[4,2,1,""]},"paramiko.dsskey":{DSSKey:[8,1,1,""]},"paramiko.dsskey.DSSKey":{generate:[8,7,1,""]},"paramiko.ecdsakey":{ECDSAKey:[8,1,1,""]},"paramiko.ecdsakey.ECDSAKey":{generate:[8,6,1,""]},"paramiko.ed25519key":{Ed25519Key:[8,1,1,""]},"paramiko.file":{BufferedFile:[5,1,1,""]},"paramiko.file.BufferedFile":{__iter__:[5,2,1,""],__next__:[5,2,1,""],close:[5,2,1,""],flush:[5,2,1,""],read:[5,2,1,""],readable:[5,2,1,""],readinto:[
 
5,2,1,""],readline:[5,2,1,""],readlines:[5,2,1,""],seek:[5,2,1,""],seekable:[5,2,1,""],tell:[5,2,1,""],writable:[5,2,1,""],write:[5,2,1,""],writelines:[5,2,1,""],xreadlines:[5,2,1,""]},"paramiko.hostkeys":{HostKeyEntry:[6,1,1,""],HostKeys:[6,1,1,""]},"paramiko.hostkeys.HostKeyEntry":{__weakref__:[6,3,1,""],from_line:[6,6,1,""],to_line:[6,2,1,""]},"paramiko.hostkeys.HostKeys":{__init__:[6,2,1,""],__weakref__:[6,3,1,""],add:[6,2,1,""],check:[6,2,1,""],clear:[6,2,1,""],hash_host:[6,7,1,""],load:[6,2,1,""],lookup:[6,2,1,""],save:[6,2,1,""]},"paramiko.kex_gss":{KexGSSGex:[7,1,1,""],KexGSSGroup14:[7,1,1,""],KexGSSGroup1:[7,1,1,""],NullHostKey:[7,1,1,""]},"paramiko.kex_gss.KexGSSGex":{__weakref__:[7,3,1,""],parse_next:[7,2,1,""],start_kex:[7,2,1,""]},"paramiko.kex_gss.KexGSSGroup1":{__weakref__:[7,3,1,""],parse_next:[7,2,1,""],start_kex:[7,2,1,""]},"paramiko.kex_gss.NullHostKey":{__weakref__:[7,3,1,""]},"paramiko.message":{Message:[9,1,1,""]},"paramiko.message.Message":{__init__:[9,2,1,""]
 
,__repr__:[9,2,1,""],__str__:[9,2,1,""],__weakref__:[9,3,1,""],add:[9,2,1,""],add_adaptive_int:[9,2,1,""],add_boolean:[9,2,1,""],add_byte:[9,2,1,""],add_bytes:[9,2,1,""],add_int64:[9,2,1,""],add_int:[9,2,1,""],add_list:[9,2,1,""],add_mpint:[9,2,1,""],add_string:[9,2,1,""],asbytes:[9,2,1,""],get_adaptive_int:[9,2,1,""],get_binary:[9,2,1,""],get_boolean:[9,2,1,""],get_byte:[9,2,1,""],get_bytes:[9,2,1,""],get_int64:[9,2,1,""],get_int:[9,2,1,""],get_list:[9,2,1,""],get_mpint:[9,2,1,""],get_remainder:[9,2,1,""],get_so_far:[9,2,1,""],get_string:[9,2,1,""],get_text:[9,2,1,""],rewind:[9,2,1,""]},"paramiko.packet":{NeedRekeyException:[10,5,1,""],Packetizer:[10,1,1,""]},"paramiko.packet.NeedRekeyException":{__weakref__:[10,3,1,""]},"paramiko.packet.Packetizer":{__weakref__:[10,3,1,""],complete_handshake:[10,2,1,""],handshake_timed_out:[10,2,1,""],need_rekey:[10,2,1,""],read_all:[10,2,1,""],read_message:[10,2,1,""],readline:[10,2,1,""],send_message:[10,2,1,""],set_inbound_cipher:[10,2,1,""],se
 
t_keepalive:[10,2,1,""],set_log:[10,2,1,""],set_outbound_cipher:[10,2,1,""],start_handshake:[10,2,1,""]},"paramiko.pipe":{WindowsPipe:[11,1,1,""],make_or_pipe:[11,4,1,""]},"paramiko.pipe.WindowsPipe":{__weakref__:[11,3,1,""]},"paramiko.pkey":{PKey:[8,1,1,""],PublicBlob:[8,1,1,""]},"paramiko.pkey.PKey":{__cmp__:[8,2,1,""],__init__:[8,2,1,""],__weakref__:[8,3,1,""],asbytes:[8,2,1,""],can_sign:[8,2,1,""],from_private_key:[8,6,1,""],from_private_key_file:[8,6,1,""],get_base64:[8,2,1,""],get_bits:[8,2,1,""],get_fingerprint:[8,2,1,""],get_name:[8,2,1,""],load_certificate:[8,2,1,""],sign_ssh_data:[8,2,1,""],verify_ssh_sig:[8,2,1,""],write_private_key:[8,2,1,""],write_private_key_file:[8,2,1,""]},"paramiko.pkey.PublicBlob":{__init__:[8,2,1,""],__weakref__:[8,3,1,""],from_file:[8,6,1,""],from_message:[8,6,1,""],from_string:[8,6,1,""]},"paramiko.proxy":{ProxyCommand:[12,1,1,""]},"paramiko.proxy.ProxyCommand":{__init__:[12,2,1,""],recv:[12,2,1,""],send:[12,2,1,""]},"paramiko.rsakey":{RSAKey:[8
 
,1,1,""]},"paramiko.rsakey.RSAKey":{generate:[8,7,1,""]},"paramiko.server":{InteractiveQuery:[13,1,1,""],ServerInterface:[13,1,1,""],SubsystemHandler:[13,1,1,""]},"paramiko.server.InteractiveQuery":{__init__:[13,2,1,""],__weakref__:[13,3,1,""],add_prompt:[13,2,1,""]},"paramiko.server.ServerInterface":{__weakref__:[13,3,1,""],cancel_port_forward_request:[13,2,1,""],check_auth_gssapi_keyex:[13,2,1,""],check_auth_gssapi_with_mic:[13,2,1,""],check_auth_interactive:[13,2,1,""],check_auth_interactive_response:[13,2,1,""],check_auth_none:[13,2,1,""],check_auth_password:[13,2,1,""],check_auth_publickey:[13,2,1,""],check_channel_direct_tcpip_request:[13,2,1,""],check_channel_env_request:[13,2,1,""],check_channel_exec_request:[13,2,1,""],check_channel_forward_agent_request:[13,2,1,""],check_channel_pty_request:[13,2,1,""],check_channel_request:[13,2,1,""],check_channel_shell_request:[13,2,1,""],check_channel_subsystem_request:[13,2,1,""],check_channel_window_change_request:[13,2,1,""],check_c
 
hannel_x11_request:[13,2,1,""],check_global_request:[13,2,1,""],check_port_forward_request:[13,2,1,""],enable_auth_gssapi:[13,2,1,""],get_allowed_auths:[13,2,1,""],get_banner:[13,2,1,""]},"paramiko.server.SubsystemHandler":{__init__:[13,2,1,""],finish_subsystem:[13,2,1,""],get_server:[13,2,1,""],start_subsystem:[13,2,1,""]},"paramiko.sftp_attr":{SFTPAttributes:[14,1,1,""]},"paramiko.sftp_attr.SFTPAttributes":{__init__:[14,2,1,""],__str__:[14,2,1,""],__weakref__:[14,3,1,""],from_stat:[14,6,1,""]},"paramiko.sftp_client":{SFTP:[14,1,1,""],SFTPClient:[14,1,1,""]},"paramiko.sftp_client.SFTPClient":{__init__:[14,2,1,""],chdir:[14,2,1,""],chmod:[14,2,1,""],chown:[14,2,1,""],close:[14,2,1,""],file:[14,2,1,""],from_transport:[14,6,1,""],get:[14,2,1,""],get_channel:[14,2,1,""],getcwd:[14,2,1,""],getfo:[14,2,1,""],listdir:[14,2,1,""],listdir_attr:[14,2,1,""],listdir_iter:[14,2,1,""],lstat:[14,2,1,""],mkdir:[14,2,1,""],normalize:[14,2,1,""],open:[14,2,1,""],posix_rename:[14,2,1,""],put:[14,2,1,
 
""],putfo:[14,2,1,""],readlink:[14,2,1,""],remove:[14,2,1,""],rename:[14,2,1,""],rmdir:[14,2,1,""],stat:[14,2,1,""],symlink:[14,2,1,""],truncate:[14,2,1,""],unlink:[14,2,1,""],utime:[14,2,1,""]},"paramiko.sftp_file":{SFTPFile:[14,1,1,""]},"paramiko.sftp_file.SFTPFile":{check:[14,2,1,""],chmod:[14,2,1,""],chown:[14,2,1,""],close:[14,2,1,""],flush:[14,2,1,""],gettimeout:[14,2,1,""],prefetch:[14,2,1,""],read:[14,2,1,""],readable:[14,2,1,""],readinto:[14,2,1,""],readline:[14,2,1,""],readlines:[14,2,1,""],readv:[14,2,1,""],seek:[14,2,1,""],seekable:[14,2,1,""],set_pipelined:[14,2,1,""],setblocking:[14,2,1,""],settimeout:[14,2,1,""],stat:[14,2,1,""],tell:[14,2,1,""],truncate:[14,2,1,""],utime:[14,2,1,""],writable:[14,2,1,""],write:[14,2,1,""],writelines:[14,2,1,""],xreadlines:[14,2,1,""]},"paramiko.sftp_handle":{SFTPHandle:[14,1,1,""]},"paramiko.sftp_handle.SFTPHandle":{__init__:[14,2,1,""],chattr:[14,2,1,""],close:[14,2,1,""],read:[14,2,1,""],stat:[14,2,1,""],write:[14,2,1,""]},"paramiko
 
.sftp_server":{SFTPServer:[14,1,1,""]},"paramiko.sftp_server.SFTPServer":{__init__:[14,2,1,""],convert_errno:[14,7,1,""],set_file_attr:[14,7,1,""]},"paramiko.sftp_si":{SFTPServerInterface:[14,1,1,""]},"paramiko.sftp_si.SFTPServerInterface":{__init__:[14,2,1,""],__weakref__:[14,3,1,""],canonicalize:[14,2,1,""],chattr:[14,2,1,""],list_folder:[14,2,1,""],lstat:[14,2,1,""],mkdir:[14,2,1,""],open:[14,2,1,""],posix_rename:[14,2,1,""],readlink:[14,2,1,""],remove:[14,2,1,""],rename:[14,2,1,""],rmdir:[14,2,1,""],session_ended:[14,2,1,""],session_started:[14,2,1,""],stat:[14,2,1,""],symlink:[14,2,1,""]},"paramiko.ssh_exception":{AuthenticationException:[15,5,1,""],BadAuthenticationType:[15,5,1,""],BadHostKeyException:[15,5,1,""],ChannelException:[15,5,1,""],ConfigParseError:[15,5,1,""],CouldNotCanonicalize:[15,5,1,""],IncompatiblePeer:[15,5,1,""],NoValidConnectionsError:[15,5,1,""],PartialAuthentication:[15,5,1,""],PasswordRequiredException:[15,5,1,""],ProxyCommandFailure:[15,5,1,""],SSHExcep
 
tion:[15,5,1,""]},"paramiko.ssh_exception.NoValidConnectionsError":{__init__:[15,2,1,""],__weakref__:[15,3,1,""]},"paramiko.ssh_exception.SSHException":{__weakref__:[15,3,1,""]},"paramiko.ssh_gss":{GSSAuth:[16,4,1,""],GSS_AUTH_AVAILABLE:[16,8,1,""],GSS_EXCEPTIONS:[16,8,1,""],_SSH_GSSAPI_NEW:[16,1,1,""],_SSH_GSSAPI_OLD:[16,1,1,""],_SSH_GSSAuth:[16,1,1,""],_SSH_SSPI:[16,1,1,""]},"paramiko.ssh_gss._SSH_GSSAPI_NEW":{__init__:[16,2,1,""],credentials_delegated:[16,3,1,""],save_client_creds:[16,2,1,""],ssh_accept_sec_context:[16,2,1,""],ssh_check_mic:[16,2,1,""],ssh_get_mic:[16,2,1,""],ssh_init_sec_context:[16,2,1,""]},"paramiko.ssh_gss._SSH_GSSAPI_OLD":{__init__:[16,2,1,""],credentials_delegated:[16,3,1,""],save_client_creds:[16,2,1,""],ssh_accept_sec_context:[16,2,1,""],ssh_check_mic:[16,2,1,""],ssh_get_mic:[16,2,1,""],ssh_init_sec_context:[16,2,1,""]},"paramiko.ssh_gss._SSH_GSSAuth":{__init__:[16,2,1,""],__weakref__:[16,3,1,""],set_service:[16,2,1,""],set_username:[16,2,1,""],ssh_check_
 
mech:[16,2,1,""],ssh_gss_oids:[16,2,1,""]},"paramiko.ssh_gss._SSH_SSPI":{__init__:[16,2,1,""],credentials_delegated:[16,3,1,""],save_client_creds:[16,2,1,""],ssh_accept_sec_context:[16,2,1,""],ssh_check_mic:[16,2,1,""],ssh_get_mic:[16,2,1,""],ssh_init_sec_context:[16,2,1,""]},"paramiko.transport":{SecurityOptions:[17,1,1,""],Transport:[17,1,1,""]},"paramiko.transport.SecurityOptions":{__repr__:[17,2,1,""],ciphers:[17,3,1,""],compression:[17,3,1,""],digests:[17,3,1,""],kex:[17,3,1,""],key_types:[17,3,1,""]},"paramiko.transport.Transport":{__init__:[17,2,1,""],__repr__:[17,2,1,""],accept:[17,2,1,""],add_server_key:[17,2,1,""],atfork:[17,2,1,""],auth_gssapi_keyex:[17,2,1,""],auth_gssapi_with_mic:[17,2,1,""],auth_interactive:[17,2,1,""],auth_interactive_dumb:[17,2,1,""],auth_none:[17,2,1,""],auth_password:[17,2,1,""],auth_publickey:[17,2,1,""],cancel_port_forward:[17,2,1,""],close:[17,2,1,""],connect:[17,2,1,""],get_banner:[17,2,1,""],get_exception:[17,2,1,""],get_hexdump:[17,2,1,""],ge
 
t_log_channel:[17,2,1,""],get_remote_server_key:[17,2,1,""],get_security_options:[17,2,1,""],get_server_key:[17,2,1,""],get_username:[17,2,1,""],getpeername:[17,2,1,""],global_request:[17,2,1,""],is_active:[17,2,1,""],is_authenticated:[17,2,1,""],load_server_moduli:[17,7,1,""],open_channel:[17,2,1,""],open_forward_agent_channel:[17,2,1,""],open_forwarded_tcpip_channel:[17,2,1,""],open_session:[17,2,1,""],open_sftp_client:[17,2,1,""],open_x11_channel:[17,2,1,""],renegotiate_keys:[17,2,1,""],request_port_forward:[17,2,1,""],send_ignore:[17,2,1,""],set_gss_host:[17,2,1,""],set_hexdump:[17,2,1,""],set_keepalive:[17,2,1,""],set_log_channel:[17,2,1,""],set_subsystem_handler:[17,2,1,""],start_client:[17,2,1,""],start_server:[17,2,1,""],use_compression:[17,2,1,""]},paramiko:{agent:[0,0,0,"-"],buffered_pipe:[1,0,0,"-"],channel:[2,0,0,"-"],client:[3,0,0,"-"],config:[4,0,0,"-"],dsskey:[8,0,0,"-"],ecdsakey:[8,0,0,"-"],ed25519key:[8,0,0,"-"],file:[5,0,0,"-"],hostkeys:[6,0,0,"-"],kex_gss:[7,0,0,"
 
-"],message:[9,0,0,"-"],packet:[10,0,0,"-"],pipe:[11,0,0,"-"],pkey:[8,0,0,"-"],proxy:[12,0,0,"-"],rsakey:[8,0,0,"-"],server:[13,0,0,"-"],sftp:[14,0,0,"-"],sftp_attr:[14,0,0,"-"],sftp_client:[14,0,0,"-"],sftp_file:[14,0,0,"-"],sftp_handle:[14,0,0,"-"],sftp_server:[14,0,0,"-"],sftp_si:[14,0,0,"-"],ssh_exception:[15,0,0,"-"],ssh_gss:[16,0,0,"-"],transport:[17,0,0,"-"]}},objnames:{"0":["py","module","Python
 module"],"1":["py","class","Python class"],"2":["py","method","Python 
method"],"3":["py","attribute","Python attribute"],"4":["py","function","Python 
function"],"5":["py","exception","Python 
exception"],"6":["py","classmethod","Python class 
method"],"7":["py","staticmethod","Python static 
method"],"8":["py","data","Python 
data"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:attribute","4":"py:function","5":"py:exception","6":"py:classmethod","7":"py:staticmethod","8":"py:data"},terms:{"1970s":2,"2fac":17,"3600s":17,"abstract":[0,2,8,11,14],"boolean":[0,4,9,13,16,1
 
7],"break":9,"byte":[0,1,2,5,6,8,9,10,12,14,16,17],"case":[2,3,4,13,14,15,17],"catch":[14,17],"char":12,"class":[0,1,2,3,4,5,6,7,9,10,11,12,13,14,15,16,17],"default":[0,1,2,3,4,8,13,14,16,17],"final":4,"float":[0,1,2,3,10,14,17],"function":[0,2,3,4,8,10,13,14],"import":[14,16],"int":[0,1,2,3,4,5,8,9,10,12,13,14,15,17],"long":[6,9,10,13,14,17],"new":[0,1,2,3,4,6,7,8,9,10,12,13,14,15,16,17],"null":[5,7,14],"public":[0,3,8,15,17,18],"return":[0,1,2,3,4,5,6,8,9,10,11,12,13,14,15,16,17],"short":13,"static":[6,8,14,17],"switch":[10,17],"true":[0,1,2,3,4,5,6,8,10,13,14,16,17],"try":[3,15,17],"while":[2,3,14],Added:[0,3,4,8,14,17],But:17,DNS:[3,17],FDs:2,For:[0,2,4,8,13,14,17,18],Its:0,Not:[5,8],One:14,The:[0,1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18],There:[13,14],These:[9,17],Use:[5,14,17],Used:[3,14],Using:12,Yes:9,__cmp__:8,__init__:[2,3,4,6,8,9,12,13,14,15,16,17],__iter__:5,__len__:1,__next__:5,__repr__:[2,9,17],__str__:[9,14],__weakref__:[1,3,4,6,7,8,9,10,11,13,14,15,16],_flag:[5,14],
 
_preferred_ciph:17,_preferred_kex:17,_ssh_build_mic:16,_ssh_gssapi_new:16,_ssh_gssapi_old:16,_ssh_gssauth:16,_ssh_sspi:16,abil:14,abl:2,about:[4,8,13,14],abov:[4,13],abruptli:14,absent:[5,14],absolut:[5,14],accept:[2,3,13,14,16,17],acceptenv:2,access:[4,5,13,14,15],accord:4,account:13,accur:[5,14],achiev:17,across:[2,4,13,14,17],act:[11,13,18],activ:[0,2,14,17],actual:[2,4,5,11,13,14,16,17],add:[0,1,3,4,5,6,8,9,13,14,17],add_adaptive_int:9,add_boolean:9,add_byt:9,add_int64:9,add_int:9,add_list:9,add_mpint:9,add_prompt:13,add_server_kei:17,add_str:9,added:[3,8,13,14,16],adding:[3,6],addit:[2,4,14,17],address:[0,2,13,15,17],addressfamili:4,adequ:14,advers:17,affect:[2,11,14,17],after:[0,1,2,3,5,10,13,14,17],afterward:14,again:[2,13,17],against:[3,4],agent:[2,3,13,17,18],agentclientproxi:0,agentforward:13,agentkei:0,agentlocalproxi:0,agentproxythread:0,agentremoteproxi:0,agentrequesthandl:0,agentserverproxi:0,agre:17,aka:[4,14],algorithm:[8,14,15,17],alia:[14,17],alias:14,aliv:[0,17],a
 
ll:[0,1,2,4,5,6,8,10,13,14,15,17],alloc:[13,17],allow:[2,13,14,15,17,18],allow_ag:3,almost:[13,17],along:4,alongsid:3,alphabet:4,alreadi:[4,9,14],also:[0,2,3,13,14,17],alter:14,altern:[4,14],alwai:[0,2,10,13,14,17],amount:[1,2,10],ani:[0,1,2,3,4,5,6,9,13,14,17],anoth:[0,1,2,8,9,12],answer:[13,17],anticip:14,anyth:[3,9,17],anytim:3,api:[2,3,8,13,14,17],apolog:14,appear:3,append:[5,14],appli:4,applic:[2,3,4,13],appropri:[4,14],approxim:[5,14],arbitrari:[4,9,14,17],area:18,aren:[9,13],arg:4,arguabl:6,argument:[0,1,2,3,5,12,13,14,17],aros:15,around:[2,4,5,17],arrang:0,arriv:[1,2,13,17],as_bool:4,as_int:4,asbyt:[8,9],asid:13,ask:[0,2,3,13,14,17],aspect:3,assert:4,assign:[13,17],associ:[2,6,13,14],assum:[1,3,5,10,13,14,15],asymmetr:8,asynchron:17,asyncor:2,atfork:17,atim:14,attach:[2,17],attack:17,attemp:14,attempt:[0,1,2,3,10,13,14,15,16,17],attr:[8,14],attribut:[14,15,17],autent:17,auth:[2,3,8,13,17],auth_cooki:[2,13],auth_fail:13,auth_gssapi_keyex:17,auth_gssapi_with_m:17,auth_interact
 
:17,auth_interactive_dumb:17,auth_method:16,auth_non:17,auth_partially_success:13,auth_password:17,auth_protocol:[2,13],auth_publickei:17,auth_success:13,auth_timeout:3,authent:[0,2,3,7,8,13,14,15,17],authenticationexcept:[3,15,17],authhandl:13,author:14,autoaddpolici:3,autom:17,automat:[0,2,3,17],avail:[0,13,16],avoid:[2,14],back:[2,3,4,5,13,17],background:[2,14],backward:[4,14,17],bad:2,badauthenticationtyp:[15,17],badhostkeyexcept:[3,15],banner:[3,13,17],banner_timeout:3,bar:4,bare:8,base64:[0,8],base:[0,4,5,8,9,10,14,17],basestr:17,basic:[2,8,18],battl:17,bear:8,becaus:[2,5,8,13,14,15,16,17],becom:4,been:[0,1,2,5,9,13,14,17],befor:[0,1,2,6,8,10,14,17],begin:[4,9,13,14,17],behav:[2,14,17],behavior:[2,4,13,14,17],being:[0,2,3,4,13,14,17],belief:17,below:[4,13],besid:17,betti:14,between:[0,12],binari:[0,5,8,14],bind:17,bit:[0,2,8,9,14],bitset:14,bizarr:14,blindli:13,blob:[0,8],block:[0,1,2,10,13,14,17],block_engin:10,block_siz:[10,14],book:10,bool:[2,3,9,10,13,14,16,17],both:[2,3,4
 
,11,13,14,17],bother:6,boundari:14,brief:4,buff:[5,14],buffer:[2,14,18],buffered_pip:1,bufferedfil:[5,14],bufferedpip:1,bufsiz:[2,3,5,14],bug:6,build:9,built:[2,3,14],builtin:[4,17],byte_count:17,bytearrai:[5,14],cach:[3,13],call:[0,1,2,3,4,5,6,8,10,13,14,16,17],callabl:[2,14,17],callback:[10,14],can:[0,1,2,3,4,5,6,8,9,10,11,12,13,14,17],can_sign:[0,8],cancel:[13,17],cancel_port_forward:17,cancel_port_forward_request:13,cannot:[4,8,14],canon:14,canonic:[3,4,14,15,17],canonicaldomain:4,canonicaliz:4,canonicalizefallbackloc:4,canonicalizehostnam:4,canonicalizemaxdot:4,canonicalizepermittedcnam:4,captur:15,care:[3,6,8,14],cast:4,caus:[0,2,13,14,17],caveat:4,cc_file:13,cc_filenam:13,cert:[0,3,8],certain:[15,17],certainli:13,certif:[0,3,8],certkei:[0,8],cetain:13,challeng:13,chan:[0,2],chanclient:0,chang:[0,2,3,4,8,14,17],changelog:18,chanid:[2,13],channel:[0,1,3,13,14,15,17,18],channelexcept:15,channelfil:2,channelstderrfil:2,channelstdinfil:2,chanremot:0,charact:[2,3,5,9,13,14],charg:0
 
,chattr:14,chdir:14,check:[2,3,5,6,10,13,14,16,18],check_auth_gssapi_keyex:13,check_auth_gssapi_with_m:13,check_auth_interact:13,check_auth_interactive_respons:13,check_auth_non:[13,17],check_auth_password:[13,17],check_auth_publickei:[13,17],check_channel_direct_tcpip_request:13,check_channel_env_request:13,check_channel_exec_request:13,check_channel_forward_agent_request:13,check_channel_pty_request:13,check_channel_request:[2,13,17],check_channel_shell_request:13,check_channel_subsystem_request:13,check_channel_window_change_request:13,check_channel_x11_request:13,check_global_request:13,check_port_forward_request:13,check_rekei:10,child:17,chmod:14,chown:14,chunk:14,cipher:[10,17],claim:17,clariti:4,classmethod:[4,6,8,14],clean:[0,17],cleanli:[14,17],cleanup:[13,14],clear:[1,6,11,17],client:[0,2,8,12,13,14,16,17,18],client_token:16,clone:0,close:[0,1,2,3,4,5,10,13,14,17],code:[2,4,13,14,15,17],collect:[2,3,14],com:[0,3,4,8,13,17],combin:[2,6,9,13],come:14,comma:[9,13],command:[0
 
,2,3,12,13,15],command_lin:12,commandproxi:12,comment:[6,8],common:[2,8,14],commonli:14,commun:[0,3,17],compar:8,compat:[0,4,8,14,17],complet:[2,10,13,14,17],complete_handshak:10,compon:3,compress:[3,4,17],comput:[14,17],concaten:[9,14],concept:14,condit:2,conf:4,config:[15,18],configparseerror:15,configur:[2,18],confirm:14,conflict:3,confus:17,connect:[0,2,3,4,7,13,15,16,17],consid:[2,14],consist:14,constant:2,constraint:16,construct:17,constructor:[0,2,4,8,9,14,17],consum:4,contact:0,contain:[0,2,3,4,5,8,9,13,14,16,17],content:[0,7,8,9,12,14,17,18],context:[2,3,12,14,16,17],contextu:13,continu:[2,13,14,17],contributor:4,control:[0,2,13,14,17,18],controlpath:4,conveni:[2,4,14],convent:14,convers:4,convert:[14,17],convert_errno:14,cooki:[2,13],copi:[4,14],core:17,correctli:[0,2,8],correspond:[8,13,14],corrupt:17,could:[2,3,4,9,10,14,16],couldn:0,couldnotcanonic:[4,15],count:[5,14],cover:18,creat:[0,2,3,4,6,8,9,12,13,14,16,17],creation:18,credentail:16,credenti:[3,7,13,15,16,17],cred
 
entials_deleg:16,criteria:17,crlf:13,cross:[14,18],cryptographi:8,current:[0,2,3,5,10,14,16,17,18],curv:8,custom:9,cycl:[13,14],daemon:0,danger:13,data:[0,1,2,4,5,6,8,10,13,14,15,17,18],databas:[3,17],deadlock:0,deal:9,debian:17,debug:[2,9,17],decid:[0,8,13,18],declar:4,decod:9,decompos:9,decor:2,decrypt:[0,3,8],deeper:4,default_max_packet_s:17,default_window_s:[2,17],defin:[1,3,4,6,7,8,9,10,11,13,14,15,16,17],definit:8,deleg:[3,7,13,16,17],delet:14,deliveri:2,demand:17,deni:17,departur:4,depend:[2,4,14,17],deprec:[5,14],der:16,deriv:[0,8],describ:[4,15],descript:14,descriptor:2,desctruct:14,desir:[2,5,14,16,17],desired_mech:16,dest:14,dest_addr:17,destin:[13,14,17],destroi:14,detail:[2,3,4,14,17,18],determin:[2,4,13,14,17],determinist:9,develop:13,dialog:17,dict:[0,2,3,4,6,14,15,17],dictionari:[2,4,6,17],did:[14,15],didn:[13,14],differ:[8,14,15,17],diffi:[7,17],difficult:17,digest:17,dimens:13,direct:[2,4,14,17,18],directli:[2,3,4,17],directori:[4,14],disabl:[2,3,15,17],disabled_al
 
gorithm:[3,17],disagr:15,disallow:2,discover:3,disk:[4,8,14],displai:13,dispos:2,disrupt:17,distribut:17,doc:[4,14],docstr:15,document:17,doe:[1,2,3,4,5,9,13,14,17],doesn:[2,4,5,6,9,14,16,17],doing:[14,17],domain:4,don:[2,6,9,13,14,17],done:[1,3,10,13,17,18],down:[2,9],download:14,dramat:14,driven:12,dsa:18,dss:[6,17,18],dsskei:[0,8,17],due:[14,17],dumb:[8,17],dumber:17,dump:17,dure:[4,6,10,13,17],each:[3,4,13,14,17],eas:17,easi:[4,14],ecdsa:18,ecdsakei:8,echo:[13,17],ed25519:18,ed25519kei:8,effect:[2,4,17],effici:[2,14],effort:[0,8],either:[0,2,3,4,6,11,13,14,16,17,18],elaps:[1,2],els:[2,4,5,6,13,14,17],elsewher:4,empti:[0,1,5,6,13,14,17],emul:[2,3,14],enabl:[4,13,17],enable_auth_gssapi:13,encod:[5,9,14,16],encount:[4,5,14,15],encrypt:[0,8,10,17,18],end:[0,2,3,4,5,11,13,14,17],enough:[0,2,8],ensur:2,enter:17,entir:[0,2,4,5,14],entri:[2,4,6,14],enumer:0,env:13,environ:[2,3,13],environn:0,eof:[2,5,13,14],eoferror:[10,17],epoch:14,equal:8,equival:[2,6,8,9,14],errno:[14,15],error:[0,2,
 
3,6,7,8,13,14,15,16,17],escap:14,especi:14,establish:[0,3],etc:[2,9,14,15,17],etm:10,even:[0,5,14,17],event:[1,11,17],ever:[2,10,17],everi:10,exactli:[2,13,14,17],examin:3,exampl:[0,2,3,4,8,13,14,15,17],exceedingli:13,except:[0,1,2,3,5,6,7,10,14,16,17,18],exchang:[3,13,15,16,17,18],exec_command:[0,2,3],execut:[0,2,3,10,12,13],exist:[0,2,3,6,8,14,17],exit:[0,2,13,15],exit_status_readi:2,expand:4,expandus:6,expans:18,expect:[0,2,6,14,15,17,18],expected_kei:15,explan:15,explicit:[3,4],explicitli:[3,4,14,17],expos:[4,9,15],express:[1,2,4],extend:[0,4,14],extens:[9,13,14,17],extra:[13,17],fabric:4,facto:4,factor:[14,17],factori:[0,8],fail:[2,3,5,13,15,16,17],failur:[3,13,14,15,17],fake:[0,2],fallback:[15,17],fals:[0,1,2,3,4,5,6,8,10,13,14,16,17],famili:15,far:14,faster:2,fatal:15,featur:[4,9,14],fed:1,feed:1,feeder:1,fetch:[2,9,14,17],few:10,fewer:14,fget:[5,14],field:[14,17],file:[0,1,2,3,4,8,14,15,16,17,18],file_obj:[0,4,8],file_s:14,filenam:[0,3,6,8,13,14,17],fileno:2,filesystem:14,fi
 
ll:[2,8,14],find:[0,2,3,6,14],fine:[4,14],fingerprint:[0,8],finish:[2,13,18],finish_subsystem:13,firewal:17,first:[2,4,5,14,17],fit:17,flag:[5,14],flag_binari:[5,14],flo:4,flow:[2,18],flush:[2,5,14],folder:14,follow:[2,3,4,13,14,17,18],foo:[4,14],forc:[5,14,17],forev:[1,13,17],fork:[12,17],form:[6,14,16,17],format:[0,4,6,8,9,14],forward:[0,2,13,17],forward_agent_handl:0,found:[0,3,4,6,14,15],fqdn:[4,16],fraction:0,from:[0,1,2,3,4,5,6,8,9,10,12,13,14,15,16,17],from_fil:[4,8],from_lin:6,from_messag:8,from_path:4,from_private_kei:[0,8],from_private_key_fil:[0,8],from_stat:14,from_str:8,from_text:4,from_transport:14,fseek:5,full:14,fulli:4,func:[2,14,17],further:[2,13],futur:[1,2,5,13,14],garbag:[2,3],gener:[1,2,4,8,13,14,15,16,17],gentoo:17,get:[2,3,4,14,17],get_adaptive_int:9,get_agent_connect:0,get_allowed_auth:[13,17],get_bann:[13,17],get_base64:[0,8],get_binari:9,get_bit:[0,8],get_boolean:9,get_byt:9,get_channel:14,get_connect:0,get_env:0,get_except:17,get_fingerprint:[0,8],get_hex
 
dump:17,get_host_kei:3,get_hostnam:4,get_id:[0,2,13],get_int64:9,get_int:9,get_kei:0,get_list:9,get_log_channel:17,get_mpint:9,get_nam:[2,8,17],get_pti:[2,3],get_remaind:9,get_remote_server_kei:17,get_security_opt:17,get_serv:13,get_server_kei:17,get_so_far:9,get_str:9,get_text:9,get_transport:[0,2,3],get_usernam:17,getcwd:14,getfo:14,getpass:4,getpeernam:[2,17],gettimeout:[2,14],getus:4,gid:14,git:0,github:[0,8],give:17,given:[0,1,2,3,4,6,8,13,14,15,16,17],global:[13,17],global_request:17,gmt:14,goe:14,going:2,good:[0,8,13,14,17],got_kei:15,grant:13,greater:14,group14:7,group16:17,group:[7,14,17],gss:[3,13,17,18],gss_auth:[3,17],gss_auth_avail:16,gss_authent:13,gss_deleg_cr:[3,16,17],gss_except:16,gss_host:[3,17],gss_kex:[3,16,17],gss_trust_dn:[3,17],gssapi:[13,16,17],gssapi_request:17,gssauth:16,gsserror:16,gssexcept:16,guarante:15,habit:2,had:[9,17],half:17,halv:2,hand:0,handi:14,handl:[0,10,13,14,15,17,18],handler:[2,13,14,17],handshak:10,handshake_timed_out:10,hang:[2,3,14],hap
 
pen:[0,5,17],has:[0,1,2,3,4,5,8,10,13,14,16,17],hasattr:14,hash:[6,14,17],hash_algorithm:14,hash_host:6,hasn:2,have:[1,2,4,5,6,9,13,14,17,18],haven:[9,14,17],hazmat:8,height:[2,3,13],height_pixel:[2,3],held:0,hellman:[7,17],helper:[0,14],here:13,hex:17,hexadecim:2,hexdump:17,high:[3,18],higher:4,highlight:4,hint:14,hit:[5,14,17],home:[4,14],honor:4,hook:[3,13],host:[0,3,4,7,8,12,13,14,15,17,18],hostkei:[3,6,17],hostkeyentri:6,hostnam:[3,4,6,15,16,17],how:[2,4,9,12,14,18],howev:[0,8,14],http:[0,8,13],hundr:2,id_dsa:3,id_ecdsa:3,id_rsa:3,idea:[5,13,14],ident:[0,2,5,9,14],identif:0,identifi:[0,13,17],ignor:[5,14,17],immedi:[1,2,5,14,15,17],impact:4,implement:[0,3,4,5,7,8,9,10,12,14,16,17,18],impli:[14,15],importerror:16,imposs:11,improv:14,inbound:10,includ:[0,4,5,6,8,13,14,17,18],incom:[2,7,17],incompat:0,incompatiblep:15,incomplet:[5,14],incorrect:17,increment:14,indefinit:[2,13],independ:2,indic:[0,1,3,8,10,13,14,16,17],indistinguish:2,individu:[6,14],infinit:9,info:[0,4,8,14,17,18]
 
,inform:[0,4,8,13,14,17],inherit:0,initi:[0,2,16],input:[3,5,12,14],insid:17,insofar:4,instal:4,instanc:[2,3,8,12,14,15,17],instanti:[0,4,8],instantli:2,instead:[0,4,5,8,12,14],instruct:[13,17],integ:[0,4,9,14],intend:[5,14],interact:[2,3,13,14,17],interactivequeri:13,interest:[4,18],interfac:[0,2,3,5,12,13,14],intern:[5,8,14,15],internet:14,interpret:[2,3,4,13],interv:[10,17],introduc:4,invalid:[0,8],invok:[0,2,3,4,13],invoke_shel:[2,3],invoke_subsystem:2,ioerror:[0,3,5,6,8,14],ip_address:13,ipv4:15,irrit:2,is_act:[13,17],is_al:0,is_authent:17,isal:0,isn:[2,3,13,15,17],issu:[4,14],item:[9,13],iter:[5,14,17],its:[2,3,5,8,13,14,18],itself:[3,4,5,14],januari:14,join:0,judg:[0,8],junk:17,just:[0,3,6,9,13,14,16,17],keep:[10,17],keepal:[10,17],kei:[0,3,4,10,13,15,16,17],kept:[5,14,17],kerbero:[3,13,16,17],kex:17,kex_gss:[7,13],kexgssgex:7,kexgssgroup14:7,kexgssgroup1:7,key_filenam:3,key_typ:17,keyboard:[13,17],keyex:16,keytyp:6,keyword:[3,14,15,17,18],kind:[2,3,13,17,18],know:17,knowledg
 
:[2,4],known:[3,4,6,9,13,14,17],known_host:18,krb5:[13,16],krb5_kuserok:13,krb5_princip:13,kwarg:[2,3,4,8,14,17],languag:13,larg:[2,10,14,17],larger:2,last:[2,3,14,17],latenc:14,later:[4,8,14,17],latter:13,launch:0,lazyfqdn:4,lead:[3,6],least:[1,2,10],left:[0,3],len:[5,14,17],length:[1,2,5,9,14,16],less:[2,5,14],level:[2,3,4,9,11,14,17,18],leverag:4,librari:[4,13],lifetim:17,like:[0,2,3,4,5,6,8,11,12,13,14,15,17,18],line:[5,6,10,13,14,15],lineno:6,link:[14,17],linux:13,list:[0,1,3,4,5,6,7,8,9,10,11,13,14,15,16,17],list_fold:14,listdir:14,listdir_attr:14,listdir_it:14,listen:[13,17],liter:4,littl:[0,8,14],live:[0,17],load:[0,3,4,6,8,13,17],load_certif:[0,8],load_host_kei:3,load_server_moduli:17,load_system_host_kei:3,local:[0,2,3,4,13,14,17],localpath:14,locat:17,lock:10,log:[3,10,13,17],logfil:2,logic:[13,15],login:[13,16],longer:[2,17],longnam:14,look:[4,6],look_for_kei:3,lookup:[4,6],loop:13,lost:0,low:9,lower:3,lowercas:4,lstat:14,mac:10,mac_engin:10,mac_kei:10,mac_siz:10,machin:
 
[0,12],machineri:14,made:[0,2,3,4,8,13,14,15,17],magic:[0,2,8],mai:[0,1,2,3,4,5,9,11,12,13,14,15,17,18],main:[0,8,18],maintain:[16,18],major:4,make:[2,11,12,13,14,17],make_or_pip:11,makefil:2,makefile_stderr:2,makefile_stdin:2,malici:14,man:[4,13],manag:[2,3,12,14,17],mangl:10,mani:[0,2,7,12,14,17],manipul:3,manner:15,manual:0,map:[14,17],marker:4,mask:14,master:[0,8],match:[3,4,5,8,14,15,17,18],max:[14,17],max_packet_s:[14,17],maximum:[1,2,5,14],md5:[0,8,14],mean:[1,2,4,14,15],meant:[2,14,17],mechan:[3,16],member:17,memor:2,merg:[3,6],messag:[0,7,8,13,15,16,17,18],method:[0,1,2,3,4,6,7,8,9,13,14,16,17],mic:[16,17],mic_token:16,microsoft:16,might:[13,14,17],mimic:14,mimick:14,minor:4,mirror:14,misguid:17,miss:[3,14],missing_host_kei:3,missinghostkeypolici:3,misus:15,mit:[2,16],mix:5,mkdir:14,mode:[2,5,7,13,14,16,17],modif:14,modifi:[3,14,17],modul:[0,2,7,14,16,17,18],moduli:17,more:[0,1,2,4,6,13,14,15,17,18],most:[0,3,4,5,8,14,15],mostli:[0,2,4,14],move:[5,14],movement:5,mp3:13,mp3h
 
andler:13,mpint:9,msg:[0,8,13],mtime:14,much:[2,13,14],multi:17,multipl:[0,3,6,13,14,15,17],multiplex:17,must:[0,2,4,6,11,13,14,17],my_config:4,myhost:4,name:[0,2,3,5,6,8,13,14,16,17],nat:17,nativ:[0,4],natur:4,nbyte:[1,2],nearli:11,necessari:[0,2,8,10,14],need:[0,1,2,3,9,10,12,13,15,17,18],need_rekei:10,needrekeyexcept:10,neg:[5,14,17],negoti:[6,10,14,15,16,17,18],network:[2,8,17],never:[2,17],newer:[4,16],newli:14,newlin:[5,6,14],newpath:14,next:[5,7,9,14,17],niceti:4,nois:17,non:[0,2,5,8,9,14,16],none:[0,1,2,3,4,5,6,8,9,13,14,15,16,17],nonneg:[1,2],nonzero:0,normal:[0,1,2,4,9,11,14,15,17],normpath:14,notat:14,note:[0,2,4,8,13,14,16],noth:[0,2,5,8,13,14,17],notic:[2,13],notimplementederror:16,novalidconnectionserror:15,now:[4,13],nullhostkei:7,number:[0,1,2,5,8,9,10,13,14,16,17],numer:14,o_append:14,o_creat:14,o_excl:14,o_rdonli:14,o_rdwr:14,o_trunc:14,o_wronli:14,obei:[1,14],obj:[9,14],object:[0,1,2,3,4,5,6,7,8,9,10,11,13,14,15,16,17,18],obscur:17,obtain:[0,4],obviou:14,occasion:
 
14,occur:[0,2,3,5,7,14],octal:14,off:[10,14,17],offer:[0,8],offset:[5,14],often:17,oid:16,okai:[5,10,13],old:3,older:[4,16],oldpath:14,omit:[2,5,14],onc:[0,1,2,13,14,17,18],one:[0,1,2,3,4,5,6,8,10,11,13,14,17],ones:6,onli:[0,2,3,4,5,8,9,10,11,13,14,15,16,17],open:[0,2,3,4,5,13,14,15,17],open_channel:17,open_failed_administratively_prohibit:13,open_failed_connect_fail:13,open_failed_resource_shortag:13,open_failed_unknown_channel_typ:13,open_forward_agent_channel:17,open_forwarded_tcpip_channel:17,open_onli:2,open_sess:[0,17],open_sftp:3,open_sftp_cli:17,open_succeed:13,open_x11_channel:[13,17],openssh:[0,2,3,4,6,8,10,14,17],oper:[0,1,2,5,14,17],option:[0,1,2,3,4,5,6,8,13,14,17],order:[3,4,6,14,17],org:4,organ:18,orient:17,origin:[6,13,14,17],origin_addr:17,origin_port:17,oserror:14,other:[0,2,3,4,8,10,14,15,17],otherwis:[0,1,2,6,8,13,14,16,17],our:4,out:[0,1,5,9,10,14],outbound:[2,10],outgo:2,output:[2,3,12,15],outsid:14,over:[2,5,14,17,18],overal:14,overrid:[3,13,14,17],overridden:
 
14,overwrit:13,overwritten:14,own:[4,5,8,13],owner:14,ownership:14,packag:16,packet:[7,8,12,14,17,18],page:[4,13],pageant:0,pair:[0,6,13],paket:7,pam:17,param:[2,10,14],paramet:[0,1,2,3,4,5,6,7,8,9,10,12,13,14,15,16,17],paramiko:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],parent:[17,18],pars:[4,6,7,9,15],parse_next:7,parser:4,part:[0,1,2,8,17],partial:[2,14,15,17],partialauthent:15,particular:[2,4],partit:14,pass:[2,3,4,8,9,10,12,13,14,17,18],passphras:3,password:[0,3,8,13,15,17,18],passwordauthent:4,passwordrequiredexcept:[0,8,15],past:14,path:[3,4,6,13,14,17],pathnam:14,pattern:4,paus:17,payload:17,pend:[2,10,14],peopl:[2,9],per:[0,4,8,14],perform:[2,3,13,14,16,17],perhap:17,period:[1,2],permiss:[14,17],permit:17,peroid:17,pick:[13,17],pipe:[2,18],pipelin:14,pipetimeout:1,pixel:[2,3,13],pixelheight:13,pixelwidth:13,pkei:[0,3,6,8,13,15,17],place:13,plai:17,plain:[3,8,17],platform:18,plattform:13,pleas:[4,18],plu:3,point:0,polici:3,poll:2,popen:12,port:[0,2,3,4,13,15,17],portabl:[
 
0,8],portion:17,posit:[5,9,14],posix:[3,4,6,14,17],posix_renam:14,possibl:[2,4,5,6,8,10,12,13,14,15,17],potenti:4,practic:2,pre:[3,13,14],precis:9,predat:[5,14],prefer:[13,17],prefetch:14,prematur:17,presenc:14,present:[0,2,3,4,5,14,15],preserv:6,pretti:17,previou:[0,2,4,13,17],previous:[2,3,13,14,17],primari:[0,13],primarili:[2,4,14],prime:17,primit:8,princip:13,print:17,prior:[1,2],prioriti:3,privat:[0,3,8,15,17,18],probabl:[3,13,14],problem:2,proce:2,process:[0,2,3,4,10,13,17],produc:[5,14],program:[0,12],progress_func:8,project:18,prompt:[13,17],prompt_list:17,properti:4,protocol:[0,2,8,10,13,14,15,17],provid:[2,3,4,7,13,14,16,18],proxi:[0,12,14,15],proxycommand:[4,15,18],proxycommandfailur:15,pseudo:[2,3,4,13,16],pty:[2,13],ptype:7,pub:[0,3,8],pubkei:[8,17],publicblob:8,publickei:13,purpos:[0,4],put:14,putfo:14,putti:0,python:[0,2,3,4,5,8,9,10,13,14,16,18],queri:[4,13],question:[13,17],queu:2,queue:[2,17],quickli:14,rais:[0,1,2,3,4,5,6,8,10,14,15,16,17],random:[2,5,14,17],rare:
 
17,rather:17,raw:[0,4,8,9],reach:[1,5,10,14],read:[0,1,2,3,4,5,6,8,10,11,12,14,17],read_ahead:14,read_al:10,read_messag:10,read_readi:1,readabl:[5,11,14],readfil:14,readi:[1,2],readinto:[5,14],readlin:[5,10,14],readlink:14,readv:14,real:[0,2,8,11,15,17],realli:[2,9,14],realpath:14,reason:[4,13,15],recal:4,receiv:[1,2,3,12,16,17,18],recent:17,recogn:[0,8,17],recommend:2,recv:[2,12,17],recv_exit_statu:2,recv_readi:2,recv_stderr:2,recv_stderr_readi:2,recv_token:16,recycl:0,refer:[1,3,4,6,7,8,9,10,11,13,14,15,16,17],reflect:2,refus:[13,17],regard:15,regener:9,regist:[3,13],regular:[3,12],reject:[2,3,13,17],rejectpolici:3,rekei:10,rel:[0,5,8,14],releas:4,reliabl:3,remain:[2,5,9,14],remaind:14,remot:[0,2,3,13,14,17,18],remote_chanid:2,remotepath:14,remov:[6,14],renam:14,renegoti:17,renegotiate_kei:17,replac:[2,3,6],report:13,repositori:0,repres:[0,1,2,3,7,8,14,15,17],represent:[2,3,4,6,8,9,14,17],request:[0,2,3,4,8,12,13,14,17,18],request_forward_ag:[0,2],request_port_forward:17,request_x
 
11:2,requir:[2,3,7,13,14,15,17],reset:[2,10],resiz:[2,13],resize_pti:2,resolut:15,resolv:14,respect:[2,14],respond:[13,17],respons:[2,3,13,14,17,18],rest:4,restrict:14,result:[1,2,4,13,14],retain:4,retri:15,retriev:[0,2,13,14],reus:2,reusabl:5,reveal:[0,8,14],rewind:9,rfc3066:13,rfc:[2,7,16],rich:14,right:2,rmdir:14,round:[5,14],roundtrip:14,rout:13,rsa:[6,17,18],rsakei:[0,8,17],rsync:14,rule:4,run:[0,2,3,12,13],runtimeerror:0,safe:17,sai:[7,17],sake:[4,14],salt:6,same:[0,2,3,4,13,14,15,17],sampl:17,san:4,save:[3,6,16,17],save_client_cr:16,save_host_kei:3,saver:14,screen:[2,13],screen_numb:[2,13],sdctr:10,search:3,second:[0,1,2,3,10,14,17],secp256r1:8,secret:[0,8],section:[4,7,14],secur:[0,2,3,8,14,17],securityopt:17,see:[0,2,3,4,8,13,14,15,16,17,18],seek:[5,14],seekabl:[5,14],seen:4,segment:14,select:[2,11],self:[5,14,17],semant:[0,1,2],send:[2,6,12,13,17,18],send_exit_statu:2,send_ignor:17,send_messag:10,send_readi:2,send_stderr:2,sendal:2,sendall_stderr:2,sens:[2,13],sent:[2,12,1
 
3,17],separ:[0,1,4,5,9,13,14,17],seq:9,sequenc:[5,9,14,16],seri:[13,14],serv:14,server:[0,2,3,6,7,8,12,14,15,16,17,18],server_addr:17,server_port:17,server_sig_alg:17,serveraliveinterv:4,serverinterfac:[2,13,14,17],servic:[13,16],session:[0,2,3,13,14,16,17,18],session_end:14,session_id:16,session_start:14,set:[0,1,2,3,4,5,10,11,13,14,16,17],set_combine_stderr:2,set_environment_vari:[2,3],set_ev:1,set_file_attr:14,set_gss_host:17,set_hexdump:17,set_inbound_ciph:10,set_keepal:[10,17],set_log:10,set_log_channel:[3,17],set_missing_host_key_polici:3,set_nam:2,set_outbound_ciph:10,set_pipelin:14,set_servic:16,set_subsystem_handl:[13,14,17],set_usernam:16,setblock:[2,14],setter:16,settimeout:[2,3,14,17],setup:14,sftp:[2,3,13,17,18],sftp_:14,sftp_attr:14,sftp_client:14,sftp_eof:14,sftp_file:14,sftp_handl:14,sftp_no_such_fil:14,sftp_ok:14,sftp_permission_deni:14,sftp_server:14,sftp_si:14,sftpattribut:14,sftpclient:[3,14,17],sftpfile:14,sftphandl:14,sftpserver:14,sftpserverinterfac:14,sha1:14
 
,sha512:17,sha:14,share:[16,17],shell:[2,3,13],shortcut:[14,17],shorter:12,should:[0,2,3,4,6,8,10,12,13,14,17],shouldn:[2,13],show:2,shrink:14,shut:2,shutdown:2,shutdown_read:2,shutdown_writ:2,side:[0,2,8,13,14,17,18],sign:[0,8,17],sign_ssh_data:8,signal:[10,16],signatur:[0,2,8,13,18],signifi:14,signific:[0,8],signtatur:13,silent:[2,3],similar:[4,13,14],similarli:2,simpl:17,simpler:[4,5,17],simpli:[0,2,3,4,17],simul:2,sinc:[0,4,5,8,14,17],singl:[2,6,9,13,14,15,16,17],single_connect:[2,13],site:18,situat:[2,14,17],size:[3,5,12,14,17],sizehint:[5,14],slack:14,sleep:13,slightli:2,small:[2,13],snippet:4,sock:[3,14,17],socket:[0,1,2,3,10,11,12,14,15,17,18],some:[0,2,3,4,5,9,13,14,15,17],someth:[13,14,17],sometim:17,sort:2,sourc:[4,14,17],space:2,span:13,speak:0,special:14,specif:[3,4,8,13,14,15,17],specifi:[0,1,2,4,5,13,14,15,16,17],speed:14,split:6,src_addr:17,ssh2:[2,8,9,15,16,17],ssh:[2,3,4,5,6,8,10,12,13,14,15,16,17],ssh_accept_sec_context:16,ssh_auth_sock:0,ssh_check_mech:16,ssh_che
 
ck_mic:16,ssh_config:[4,15],ssh_except:15,ssh_fxp_readdir:14,ssh_get_mic:16,ssh_gss:[13,16],ssh_gss_oid:16,ssh_init_sec_context:16,sshclient:[0,3,18],sshconfig:4,sshconfigdict:4,sshexcept:[0,2,3,8,10,14,15,16,17],sspi:[7,16,17],st_atim:14,st_gid:14,st_mode:14,st_mtime:14,st_size:14,st_uid:14,stage:17,stall:2,standard:[4,12,14,17],start:[0,3,7,10,13,14,17,18],start_client:[17,18],start_handshak:10,start_kex:7,start_serv:[17,18],start_subsystem:13,stat:14,state:[6,13],statist:14,statu:[2,10],stderr:[2,3,13],stdin:[2,3,13],stdio:[5,14],stdout:[2,3,13,17],step:17,still:[0,13,17],stop:[2,14,17],stopiter:5,store:[0,4,6,8,14,15,16,17],str:[0,1,2,3,4,5,6,8,9,10,12,13,14,15,16,17],stream:[2,3,5,9,17],string:[0,1,2,4,5,6,7,8,9,12,13,14,16,17],strip:4,structur:[3,4,14],style:[3,4,5,6,8,13,14],sub:17,subclass:[0,2,3,4,8,13,14,15,17],submethod:[13,17],subprocess:12,subsequ:[2,17],substitut:4,subsystem:[2,13,14,17],subsystemhandl:[13,14,17],subsytem:13,succe:[0,2,13,14,17],succeed:15,success:[13,
 
14,16,17],successfulli:[0,4,8,13,17],suffic:14,suffici:[0,2,8],suitabl:[8,17],supplement:[0,8],suppli:[4,13,17],support:[0,5,7,8,9,13,14,16,17,18],sure:[2,13],surpris:2,swap:17,symbol:14,symlink:14,symmetr:17,synchron:1,syntax:15,system:[3,4,14,17],tabl:[6,18],take:[3,13],taken:6,talk:[12,17],target:[3,4,14,16,17],target_path:14,task:3,tcp:[3,13,17],tcpip:17,tell:[5,10,14],term:[2,3,13],termin:[0,2,3,7,13,17],terminolog:8,test:17,text:[4,5,6,14,15,17],than:[0,2,12,14,17],thei:[2,3,4,5,8,9,13,14,17],them:[2,3,5,13,14,17],themselv:[4,8],therefor:0,thereof:[0,3],thi:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18],thing:14,those:[3,14,17],thread:[0,1,2,10,13,14,17],through:[0,2,3,8,13,14],thrown:[0,7,8,14,15,17],thu:[4,7,14,15,17],tied:17,time:[0,2,3,4,6,8,10,14],timeout:[0,1,2,3,10,14,17],timer:10,titl:17,to_lin:6,togeth:[11,14],token:[16,17,18],too:[2,4,13,14],top:[4,14],total:[5,14],traffic:[12,17],traffix:17,trail:[5,6,14],transfer:[14,17],translat:14,transmit:2,transport:[0,2,3,7,
 
10,12,13,14,18],trap:14,travers:17,treat:[4,5,6,14],tri:8,trigger:[4,10,11,17],trivial:[9,11],truncat:14,trust:[3,17],trust_dn:17,tunnel:[2,13,17],tupl:[0,3,13,14,15,16,17],turn:[3,5,10,14,17],tuser:4,tweak:17,two:[0,2,11,17],type:[0,2,3,4,5,6,7,8,9,13,14,15,16,17],type_:8,typeerror:17,typic:[3,4,5,14,15],uid:14,umask:14,unabl:2,undefin:17,under:0,underii:14,underli:[3,5,13,14,15,16,17],understand:2,undon:5,unfortun:6,unhandl:0,unheard:9,unicod:[9,14],unifi:15,uniqu:[2,13],unix:[0,2,13,14,16],unknown:[3,13,17],unless:[2,13],unlik:[2,5,14],unlink:14,unlock:[3,15],unmaintain:16,unopen:2,unprint:9,unsign:9,until:[0,2,14,17],unus:8,updat:[2,4],update_environ:2,upload:14,upon:[0,17],usag:[4,18],use:[0,2,3,4,6,8,9,10,13,14,16,17,18],use_compress:17,used:[0,1,2,3,4,5,6,8,11,12,13,14,15,16,17],useful:[0,2,3,5,8,13,14,17],usefulli:4,useless:[0,8,13],user:[3,4,13,16,17,18],usernam:[0,3,4,13,16,17],uses:[13,14],using:[0,2,3,5,8,10,13,14,16,17,18],usual:[2,4,6,13,14,17],utf:[5,14],utim:14,val:8
 
,valid:[0,2,6,8,13],validate_point:8,valu:[0,1,2,4,8,9,10,13,14,15,16,17],valueerror:[4,5,17],vari:14,variabl:[0,2,3,4,13,16],variou:[14,17],veri:[0,8,17],verif:[17,18],verifi:[0,2,3,6,8,13,14,16,17],verify_ssh_sig:[0,8],version:[0,2,3,4,6,7,8,13,14,15,16,17],versionad:14,via:[2,3,4,13,14,17],violat:15,vt100:[2,3,13],wai:[2,3,4,11,13,14,17],wait:[0,1,2,3,10,14,17],want:[0,2,3,8,13,14,17],warn:[2,3],warningpolici:3,wasn:10,weak:[1,3,4,6,7,8,9,10,11,13,14,15,16],websit:18,well:[3,4],were:[0,4,6,15],weren:9,what:[5,13,14,15,17,18],whatev:4,when:[0,1,2,3,4,5,6,9,11,13,14,15,17],whenc:[5,14],whenev:[2,13,17],where:[4,11,14,17],whether:[0,2,3,13,14,17],which:[0,1,2,3,4,6,8,11,12,13,14,15,17,18],whitespac:6,who:[2,16,17],whole:[5,14],whose:[0,14,15],width:[2,3,13],width_pixel:[2,3],wildcard:4,willing:13,window:[0,2,3,4,6,11,14,16,17],window_s:[2,14,17],windowspip:11,winsock:11,wish:[2,13],within:[3,5,7,13,14,17],without:[2,3,9,13,14,17],won:[2,13,14],word:17,work:[0,2,4,9,13,14],workaround
 
:14,would:[0,1,2,4,13,14,17],wrap:[2,3,11,12,14,15],wrapper:[2,4,17],writabl:[5,14],write:[0,2,5,6,8,9,10,11,12,14,17],write_private_kei:[0,8],write_private_key_fil:[0,8],writefil:14,writelin:[5,14],written:[2,3,5,10,14,17],wrong:14,www:13,x11:[2,13,17],xreadlin:[5,14],yes:4,yet:[2,4,5,9,14,17],yield:4,you:[0,1,2,3,4,8,9,13,14,17,18],your:[2,3,13,14,17],zero:[1,2,5,9,14]},titles:["SSH
 agents","Buffered pipes","Channel","Client","Configuration","Buffered 
files","Host keys / <code class=\"docutils literal\"><span 
class=\"pre\">known_hosts</span></code> files","GSS-API key exchange","Key 
handling","Message","Packetizer","Cross-platform pipe implementations","<code 
class=\"docutils literal\"><span class=\"pre\">ProxyCommand</span></code> 
support","Server implementation","SFTP","Exceptions","GSS-API 
authentication","Transport","Welcome to Paramiko\u2019s 
documentation!"],titleterms:{"class":[8,18],"function":18,agent:0,api:[4,7,16,18],authent:[16,18],buffer:[1,5],channel:2,client:3,confi
 
g:4,configur:4,core:18,cross:11,current:4,document:[4,18],dsa:8,dss:8,ecdsa:8,ed25519:8,except:15,exchang:7,expans:4,file:[5,6],gss:[7,16],handl:8,host:6,implement:[11,13],kei:[6,7,8,18],keyword:4,known_host:6,messag:9,miscellani:18,modul:4,other:18,packet:10,paramiko:18,parent:8,pipe:[1,11],platform:11,primari:18,protocol:18,proxycommand:12,rsa:8,server:13,sftp:14,ssh:[0,18],support:[4,12],token:4,transport:17,welcom:18}})
\ No newline at end of file
+Search.setIndex({docnames:["api/agent","api/buffered_pipe","api/channel","api/client","api/config","api/file","api/hostkeys","api/kex_gss","api/keys","api/message","api/packet","api/pipe","api/proxy","api/server","api/sftp","api/ssh_exception","api/ssh_gss","api/transport","index"],envversion:53,filenames:["api/agent.rst","api/buffered_pipe.rst","api/channel.rst","api/client.rst","api/config.rst","api/file.rst","api/hostkeys.rst","api/kex_gss.rst","api/keys.rst","api/message.rst","api/packet.rst","api/pipe.rst","api/proxy.rst","api/server.rst","api/sftp.rst","api/ssh_exception.rst","api/ssh_gss.rst","api/transport.rst","index.rst"],objects:{"paramiko.agent":{Agent:[0,1,1,""],AgentClientProxy:[0,1,1,""],AgentKey:[0,1,1,""],AgentLocalProxy:[0,1,1,""],AgentProxyThread:[0,1,1,""],AgentRemoteProxy:[0,1,1,""],AgentRequestHandler:[0,1,1,""],AgentServerProxy:[0,1,1,""],get_agent_connection:[0,4,1,""]},"paramiko.agent.Agent":{close:[0,2,1,""],get_keys:[0,2,1,""]},"paramiko.agent.AgentClientP
 
roxy":{close:[0,2,1,""],connect:[0,2,1,""]},"paramiko.agent.AgentKey":{can_sign:[0,2,1,""],from_private_key:[0,2,1,""],from_private_key_file:[0,2,1,""],get_base64:[0,2,1,""],get_bits:[0,2,1,""],get_fingerprint:[0,2,1,""],load_certificate:[0,2,1,""],verify_ssh_sig:[0,2,1,""],write_private_key:[0,2,1,""],write_private_key_file:[0,2,1,""]},"paramiko.agent.AgentLocalProxy":{daemon:[0,3,1,""],get_connection:[0,2,1,""],ident:[0,3,1,""],isAlive:[0,2,1,""],is_alive:[0,2,1,""],join:[0,2,1,""],name:[0,3,1,""],start:[0,2,1,""]},"paramiko.agent.AgentProxyThread":{daemon:[0,3,1,""],ident:[0,3,1,""],isAlive:[0,2,1,""],is_alive:[0,2,1,""],join:[0,2,1,""],name:[0,3,1,""],start:[0,2,1,""]},"paramiko.agent.AgentRemoteProxy":{daemon:[0,3,1,""],ident:[0,3,1,""],isAlive:[0,2,1,""],is_alive:[0,2,1,""],join:[0,2,1,""],name:[0,3,1,""],start:[0,2,1,""]},"paramiko.agent.AgentServerProxy":{close:[0,2,1,""],get_env:[0,2,1,""],get_keys:[0,2,1,""]},"paramiko.buffered_pipe":{BufferedPipe:[1,1,1,""],PipeTimeout:[1
 
,5,1,""]},"paramiko.buffered_pipe.BufferedPipe":{__len__:[1,2,1,""],__weakref__:[1,3,1,""],close:[1,2,1,""],empty:[1,2,1,""],feed:[1,2,1,""],read:[1,2,1,""],read_ready:[1,2,1,""],set_event:[1,2,1,""]},"paramiko.buffered_pipe.PipeTimeout":{__weakref__:[1,3,1,""]},"paramiko.channel":{Channel:[2,1,1,""],ChannelFile:[2,1,1,""],ChannelStderrFile:[2,1,1,""],ChannelStdinFile:[2,1,1,""],open_only:[2,4,1,""]},"paramiko.channel.Channel":{__init__:[2,2,1,""],__repr__:[2,2,1,""],active:[2,3,1,""],chanid:[2,3,1,""],close:[2,2,1,""],closed:[2,3,1,""],exec_command:[2,2,1,""],exit_status_ready:[2,2,1,""],fileno:[2,2,1,""],get_id:[2,2,1,""],get_name:[2,2,1,""],get_pty:[2,2,1,""],get_transport:[2,2,1,""],getpeername:[2,2,1,""],gettimeout:[2,2,1,""],invoke_shell:[2,2,1,""],invoke_subsystem:[2,2,1,""],makefile:[2,2,1,""],makefile_stderr:[2,2,1,""],makefile_stdin:[2,2,1,""],recv:[2,2,1,""],recv_exit_status:[2,2,1,""],recv_ready:[2,2,1,""],recv_stderr:[2,2,1,""],recv_stderr_ready:[2,2,1,""],remote_chanid
 
:[2,3,1,""],request_forward_agent:[2,2,1,""],request_x11:[2,2,1,""],resize_pty:[2,2,1,""],send:[2,2,1,""],send_exit_status:[2,2,1,""],send_ready:[2,2,1,""],send_stderr:[2,2,1,""],sendall:[2,2,1,""],sendall_stderr:[2,2,1,""],set_combine_stderr:[2,2,1,""],set_environment_variable:[2,2,1,""],set_name:[2,2,1,""],setblocking:[2,2,1,""],settimeout:[2,2,1,""],shutdown:[2,2,1,""],shutdown_read:[2,2,1,""],shutdown_write:[2,2,1,""],transport:[2,3,1,""],update_environment:[2,2,1,""]},"paramiko.channel.ChannelFile":{__repr__:[2,2,1,""]},"paramiko.client":{AutoAddPolicy:[3,1,1,""],MissingHostKeyPolicy:[3,1,1,""],RejectPolicy:[3,1,1,""],SSHClient:[3,1,1,""],WarningPolicy:[3,1,1,""]},"paramiko.client.MissingHostKeyPolicy":{__weakref__:[3,3,1,""],missing_host_key:[3,2,1,""]},"paramiko.client.SSHClient":{__init__:[3,2,1,""],close:[3,2,1,""],connect:[3,2,1,""],exec_command:[3,2,1,""],get_host_keys:[3,2,1,""],get_transport:[3,2,1,""],invoke_shell:[3,2,1,""],load_host_keys:[3,2,1,""],load_system_host_k
 
eys:[3,2,1,""],open_sftp:[3,2,1,""],save_host_keys:[3,2,1,""],set_log_channel:[3,2,1,""],set_missing_host_key_policy:[3,2,1,""]},"paramiko.config":{LazyFqdn:[4,1,1,""],SSHConfig:[4,1,1,""],SSHConfigDict:[4,1,1,""]},"paramiko.config.LazyFqdn":{__weakref__:[4,3,1,""]},"paramiko.config.SSHConfig":{__init__:[4,2,1,""],__weakref__:[4,3,1,""],canonicalize:[4,2,1,""],from_file:[4,6,1,""],from_path:[4,6,1,""],from_text:[4,6,1,""],get_hostnames:[4,2,1,""],lookup:[4,2,1,""],parse:[4,2,1,""]},"paramiko.config.SSHConfigDict":{__weakref__:[4,3,1,""],as_bool:[4,2,1,""],as_int:[4,2,1,""]},"paramiko.dsskey":{DSSKey:[8,1,1,""]},"paramiko.dsskey.DSSKey":{generate:[8,7,1,""]},"paramiko.ecdsakey":{ECDSAKey:[8,1,1,""]},"paramiko.ecdsakey.ECDSAKey":{generate:[8,6,1,""]},"paramiko.ed25519key":{Ed25519Key:[8,1,1,""]},"paramiko.file":{BufferedFile:[5,1,1,""]},"paramiko.file.BufferedFile":{__iter__:[5,2,1,""],__next__:[5,2,1,""],close:[5,2,1,""],flush:[5,2,1,""],read:[5,2,1,""],readable:[5,2,1,""],readinto:[
 
5,2,1,""],readline:[5,2,1,""],readlines:[5,2,1,""],seek:[5,2,1,""],seekable:[5,2,1,""],tell:[5,2,1,""],writable:[5,2,1,""],write:[5,2,1,""],writelines:[5,2,1,""],xreadlines:[5,2,1,""]},"paramiko.hostkeys":{HostKeyEntry:[6,1,1,""],HostKeys:[6,1,1,""]},"paramiko.hostkeys.HostKeyEntry":{__weakref__:[6,3,1,""],from_line:[6,6,1,""],to_line:[6,2,1,""]},"paramiko.hostkeys.HostKeys":{__init__:[6,2,1,""],__weakref__:[6,3,1,""],add:[6,2,1,""],check:[6,2,1,""],clear:[6,2,1,""],hash_host:[6,7,1,""],load:[6,2,1,""],lookup:[6,2,1,""],save:[6,2,1,""]},"paramiko.kex_gss":{KexGSSGex:[7,1,1,""],KexGSSGroup14:[7,1,1,""],KexGSSGroup1:[7,1,1,""],NullHostKey:[7,1,1,""]},"paramiko.kex_gss.KexGSSGex":{__weakref__:[7,3,1,""],parse_next:[7,2,1,""],start_kex:[7,2,1,""]},"paramiko.kex_gss.KexGSSGroup1":{__weakref__:[7,3,1,""],parse_next:[7,2,1,""],start_kex:[7,2,1,""]},"paramiko.kex_gss.NullHostKey":{__weakref__:[7,3,1,""]},"paramiko.message":{Message:[9,1,1,""]},"paramiko.message.Message":{__init__:[9,2,1,""]
 
,__repr__:[9,2,1,""],__str__:[9,2,1,""],__weakref__:[9,3,1,""],add:[9,2,1,""],add_adaptive_int:[9,2,1,""],add_boolean:[9,2,1,""],add_byte:[9,2,1,""],add_bytes:[9,2,1,""],add_int64:[9,2,1,""],add_int:[9,2,1,""],add_list:[9,2,1,""],add_mpint:[9,2,1,""],add_string:[9,2,1,""],asbytes:[9,2,1,""],get_adaptive_int:[9,2,1,""],get_binary:[9,2,1,""],get_boolean:[9,2,1,""],get_byte:[9,2,1,""],get_bytes:[9,2,1,""],get_int64:[9,2,1,""],get_int:[9,2,1,""],get_list:[9,2,1,""],get_mpint:[9,2,1,""],get_remainder:[9,2,1,""],get_so_far:[9,2,1,""],get_string:[9,2,1,""],get_text:[9,2,1,""],rewind:[9,2,1,""]},"paramiko.packet":{NeedRekeyException:[10,5,1,""],Packetizer:[10,1,1,""]},"paramiko.packet.NeedRekeyException":{__weakref__:[10,3,1,""]},"paramiko.packet.Packetizer":{__weakref__:[10,3,1,""],complete_handshake:[10,2,1,""],handshake_timed_out:[10,2,1,""],need_rekey:[10,2,1,""],read_all:[10,2,1,""],read_message:[10,2,1,""],readline:[10,2,1,""],send_message:[10,2,1,""],set_inbound_cipher:[10,2,1,""],se
 
t_keepalive:[10,2,1,""],set_log:[10,2,1,""],set_outbound_cipher:[10,2,1,""],start_handshake:[10,2,1,""]},"paramiko.pipe":{WindowsPipe:[11,1,1,""],make_or_pipe:[11,4,1,""]},"paramiko.pipe.WindowsPipe":{__weakref__:[11,3,1,""]},"paramiko.pkey":{PKey:[8,1,1,""],PublicBlob:[8,1,1,""]},"paramiko.pkey.PKey":{__cmp__:[8,2,1,""],__init__:[8,2,1,""],__weakref__:[8,3,1,""],asbytes:[8,2,1,""],can_sign:[8,2,1,""],from_private_key:[8,6,1,""],from_private_key_file:[8,6,1,""],get_base64:[8,2,1,""],get_bits:[8,2,1,""],get_fingerprint:[8,2,1,""],get_name:[8,2,1,""],load_certificate:[8,2,1,""],sign_ssh_data:[8,2,1,""],verify_ssh_sig:[8,2,1,""],write_private_key:[8,2,1,""],write_private_key_file:[8,2,1,""]},"paramiko.pkey.PublicBlob":{__init__:[8,2,1,""],__weakref__:[8,3,1,""],from_file:[8,6,1,""],from_message:[8,6,1,""],from_string:[8,6,1,""]},"paramiko.proxy":{ProxyCommand:[12,1,1,""]},"paramiko.proxy.ProxyCommand":{__init__:[12,2,1,""],recv:[12,2,1,""],send:[12,2,1,""]},"paramiko.rsakey":{RSAKey:[8
 
,1,1,""]},"paramiko.rsakey.RSAKey":{generate:[8,7,1,""]},"paramiko.server":{InteractiveQuery:[13,1,1,""],ServerInterface:[13,1,1,""],SubsystemHandler:[13,1,1,""]},"paramiko.server.InteractiveQuery":{__init__:[13,2,1,""],__weakref__:[13,3,1,""],add_prompt:[13,2,1,""]},"paramiko.server.ServerInterface":{__weakref__:[13,3,1,""],cancel_port_forward_request:[13,2,1,""],check_auth_gssapi_keyex:[13,2,1,""],check_auth_gssapi_with_mic:[13,2,1,""],check_auth_interactive:[13,2,1,""],check_auth_interactive_response:[13,2,1,""],check_auth_none:[13,2,1,""],check_auth_password:[13,2,1,""],check_auth_publickey:[13,2,1,""],check_channel_direct_tcpip_request:[13,2,1,""],check_channel_env_request:[13,2,1,""],check_channel_exec_request:[13,2,1,""],check_channel_forward_agent_request:[13,2,1,""],check_channel_pty_request:[13,2,1,""],check_channel_request:[13,2,1,""],check_channel_shell_request:[13,2,1,""],check_channel_subsystem_request:[13,2,1,""],check_channel_window_change_request:[13,2,1,""],check_c
 
hannel_x11_request:[13,2,1,""],check_global_request:[13,2,1,""],check_port_forward_request:[13,2,1,""],enable_auth_gssapi:[13,2,1,""],get_allowed_auths:[13,2,1,""],get_banner:[13,2,1,""]},"paramiko.server.SubsystemHandler":{__init__:[13,2,1,""],finish_subsystem:[13,2,1,""],get_server:[13,2,1,""],start_subsystem:[13,2,1,""]},"paramiko.sftp_attr":{SFTPAttributes:[14,1,1,""]},"paramiko.sftp_attr.SFTPAttributes":{__init__:[14,2,1,""],__str__:[14,2,1,""],__weakref__:[14,3,1,""],from_stat:[14,6,1,""]},"paramiko.sftp_client":{SFTP:[14,1,1,""],SFTPClient:[14,1,1,""]},"paramiko.sftp_client.SFTPClient":{__init__:[14,2,1,""],chdir:[14,2,1,""],chmod:[14,2,1,""],chown:[14,2,1,""],close:[14,2,1,""],file:[14,2,1,""],from_transport:[14,6,1,""],get:[14,2,1,""],get_channel:[14,2,1,""],getcwd:[14,2,1,""],getfo:[14,2,1,""],listdir:[14,2,1,""],listdir_attr:[14,2,1,""],listdir_iter:[14,2,1,""],lstat:[14,2,1,""],mkdir:[14,2,1,""],normalize:[14,2,1,""],open:[14,2,1,""],posix_rename:[14,2,1,""],put:[14,2,1,
 
""],putfo:[14,2,1,""],readlink:[14,2,1,""],remove:[14,2,1,""],rename:[14,2,1,""],rmdir:[14,2,1,""],stat:[14,2,1,""],symlink:[14,2,1,""],truncate:[14,2,1,""],unlink:[14,2,1,""],utime:[14,2,1,""]},"paramiko.sftp_file":{SFTPFile:[14,1,1,""]},"paramiko.sftp_file.SFTPFile":{check:[14,2,1,""],chmod:[14,2,1,""],chown:[14,2,1,""],close:[14,2,1,""],flush:[14,2,1,""],gettimeout:[14,2,1,""],prefetch:[14,2,1,""],read:[14,2,1,""],readable:[14,2,1,""],readinto:[14,2,1,""],readline:[14,2,1,""],readlines:[14,2,1,""],readv:[14,2,1,""],seek:[14,2,1,""],seekable:[14,2,1,""],set_pipelined:[14,2,1,""],setblocking:[14,2,1,""],settimeout:[14,2,1,""],stat:[14,2,1,""],tell:[14,2,1,""],truncate:[14,2,1,""],utime:[14,2,1,""],writable:[14,2,1,""],write:[14,2,1,""],writelines:[14,2,1,""],xreadlines:[14,2,1,""]},"paramiko.sftp_handle":{SFTPHandle:[14,1,1,""]},"paramiko.sftp_handle.SFTPHandle":{__init__:[14,2,1,""],chattr:[14,2,1,""],close:[14,2,1,""],read:[14,2,1,""],stat:[14,2,1,""],write:[14,2,1,""]},"paramiko
 
.sftp_server":{SFTPServer:[14,1,1,""]},"paramiko.sftp_server.SFTPServer":{__init__:[14,2,1,""],convert_errno:[14,7,1,""],set_file_attr:[14,7,1,""]},"paramiko.sftp_si":{SFTPServerInterface:[14,1,1,""]},"paramiko.sftp_si.SFTPServerInterface":{__init__:[14,2,1,""],__weakref__:[14,3,1,""],canonicalize:[14,2,1,""],chattr:[14,2,1,""],list_folder:[14,2,1,""],lstat:[14,2,1,""],mkdir:[14,2,1,""],open:[14,2,1,""],posix_rename:[14,2,1,""],readlink:[14,2,1,""],remove:[14,2,1,""],rename:[14,2,1,""],rmdir:[14,2,1,""],session_ended:[14,2,1,""],session_started:[14,2,1,""],stat:[14,2,1,""],symlink:[14,2,1,""]},"paramiko.ssh_exception":{AuthenticationException:[15,5,1,""],BadAuthenticationType:[15,5,1,""],BadHostKeyException:[15,5,1,""],ChannelException:[15,5,1,""],ConfigParseError:[15,5,1,""],CouldNotCanonicalize:[15,5,1,""],IncompatiblePeer:[15,5,1,""],NoValidConnectionsError:[15,5,1,""],PartialAuthentication:[15,5,1,""],PasswordRequiredException:[15,5,1,""],ProxyCommandFailure:[15,5,1,""],SSHExcep
 
tion:[15,5,1,""]},"paramiko.ssh_exception.NoValidConnectionsError":{__init__:[15,2,1,""],__weakref__:[15,3,1,""]},"paramiko.ssh_exception.SSHException":{__weakref__:[15,3,1,""]},"paramiko.ssh_gss":{GSSAuth:[16,4,1,""],GSS_AUTH_AVAILABLE:[16,8,1,""],GSS_EXCEPTIONS:[16,8,1,""],_SSH_GSSAPI_NEW:[16,1,1,""],_SSH_GSSAPI_OLD:[16,1,1,""],_SSH_GSSAuth:[16,1,1,""],_SSH_SSPI:[16,1,1,""]},"paramiko.ssh_gss._SSH_GSSAPI_NEW":{__init__:[16,2,1,""],credentials_delegated:[16,3,1,""],save_client_creds:[16,2,1,""],ssh_accept_sec_context:[16,2,1,""],ssh_check_mic:[16,2,1,""],ssh_get_mic:[16,2,1,""],ssh_init_sec_context:[16,2,1,""]},"paramiko.ssh_gss._SSH_GSSAPI_OLD":{__init__:[16,2,1,""],credentials_delegated:[16,3,1,""],save_client_creds:[16,2,1,""],ssh_accept_sec_context:[16,2,1,""],ssh_check_mic:[16,2,1,""],ssh_get_mic:[16,2,1,""],ssh_init_sec_context:[16,2,1,""]},"paramiko.ssh_gss._SSH_GSSAuth":{__init__:[16,2,1,""],__weakref__:[16,3,1,""],set_service:[16,2,1,""],set_username:[16,2,1,""],ssh_check_
 
mech:[16,2,1,""],ssh_gss_oids:[16,2,1,""]},"paramiko.ssh_gss._SSH_SSPI":{__init__:[16,2,1,""],credentials_delegated:[16,3,1,""],save_client_creds:[16,2,1,""],ssh_accept_sec_context:[16,2,1,""],ssh_check_mic:[16,2,1,""],ssh_get_mic:[16,2,1,""],ssh_init_sec_context:[16,2,1,""]},"paramiko.transport":{SecurityOptions:[17,1,1,""],Transport:[17,1,1,""]},"paramiko.transport.SecurityOptions":{__repr__:[17,2,1,""],ciphers:[17,3,1,""],compression:[17,3,1,""],digests:[17,3,1,""],kex:[17,3,1,""],key_types:[17,3,1,""]},"paramiko.transport.Transport":{__init__:[17,2,1,""],__repr__:[17,2,1,""],accept:[17,2,1,""],add_server_key:[17,2,1,""],atfork:[17,2,1,""],auth_gssapi_keyex:[17,2,1,""],auth_gssapi_with_mic:[17,2,1,""],auth_interactive:[17,2,1,""],auth_interactive_dumb:[17,2,1,""],auth_none:[17,2,1,""],auth_password:[17,2,1,""],auth_publickey:[17,2,1,""],cancel_port_forward:[17,2,1,""],close:[17,2,1,""],connect:[17,2,1,""],get_banner:[17,2,1,""],get_exception:[17,2,1,""],get_hexdump:[17,2,1,""],ge
 
t_log_channel:[17,2,1,""],get_remote_server_key:[17,2,1,""],get_security_options:[17,2,1,""],get_server_key:[17,2,1,""],get_username:[17,2,1,""],getpeername:[17,2,1,""],global_request:[17,2,1,""],is_active:[17,2,1,""],is_authenticated:[17,2,1,""],load_server_moduli:[17,7,1,""],open_channel:[17,2,1,""],open_forward_agent_channel:[17,2,1,""],open_forwarded_tcpip_channel:[17,2,1,""],open_session:[17,2,1,""],open_sftp_client:[17,2,1,""],open_x11_channel:[17,2,1,""],renegotiate_keys:[17,2,1,""],request_port_forward:[17,2,1,""],send_ignore:[17,2,1,""],set_gss_host:[17,2,1,""],set_hexdump:[17,2,1,""],set_keepalive:[17,2,1,""],set_log_channel:[17,2,1,""],set_subsystem_handler:[17,2,1,""],start_client:[17,2,1,""],start_server:[17,2,1,""],use_compression:[17,2,1,""]},paramiko:{agent:[0,0,0,"-"],buffered_pipe:[1,0,0,"-"],channel:[2,0,0,"-"],client:[3,0,0,"-"],config:[4,0,0,"-"],dsskey:[8,0,0,"-"],ecdsakey:[8,0,0,"-"],ed25519key:[8,0,0,"-"],file:[5,0,0,"-"],hostkeys:[6,0,0,"-"],kex_gss:[7,0,0,"
 
-"],message:[9,0,0,"-"],packet:[10,0,0,"-"],pipe:[11,0,0,"-"],pkey:[8,0,0,"-"],proxy:[12,0,0,"-"],rsakey:[8,0,0,"-"],server:[13,0,0,"-"],sftp:[14,0,0,"-"],sftp_attr:[14,0,0,"-"],sftp_client:[14,0,0,"-"],sftp_file:[14,0,0,"-"],sftp_handle:[14,0,0,"-"],sftp_server:[14,0,0,"-"],sftp_si:[14,0,0,"-"],ssh_exception:[15,0,0,"-"],ssh_gss:[16,0,0,"-"],transport:[17,0,0,"-"]}},objnames:{"0":["py","module","Python
 module"],"1":["py","class","Python class"],"2":["py","method","Python 
method"],"3":["py","attribute","Python attribute"],"4":["py","function","Python 
function"],"5":["py","exception","Python 
exception"],"6":["py","classmethod","Python class 
method"],"7":["py","staticmethod","Python static 
method"],"8":["py","data","Python 
data"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:attribute","4":"py:function","5":"py:exception","6":"py:classmethod","7":"py:staticmethod","8":"py:data"},terms:{"1970s":2,"2fac":17,"3600s":17,"abstract":[0,2,8,11,14],"boolean":[0,4,9,13,16,1
 
7],"break":9,"byte":[0,1,2,5,6,8,9,10,12,14,16,17],"case":[2,3,4,13,14,15,17],"catch":[14,17],"char":12,"class":[0,1,2,3,4,5,6,7,9,10,11,12,13,14,15,16,17],"default":[0,1,2,3,4,8,13,14,16,17],"final":4,"float":[0,1,2,3,10,14,17],"function":[0,2,3,4,8,10,13,14],"import":[14,16],"int":[0,1,2,3,4,5,8,9,10,12,13,14,15,17],"long":[6,9,10,13,14,17],"new":[0,1,2,3,4,6,7,8,9,10,12,13,14,15,16,17],"null":[5,7,14],"public":[0,3,8,15,17,18],"return":[0,1,2,3,4,5,6,8,9,10,11,12,13,14,15,16,17],"short":13,"static":[6,8,14,17],"switch":[10,17],"true":[0,1,2,3,4,5,6,8,10,13,14,16,17],"try":[3,15,17],"while":[2,3,14],Added:[0,3,4,8,14,17],But:17,DNS:[3,17],FDs:2,For:[0,2,4,8,13,14,17,18],Its:0,Not:[5,8],One:14,The:[0,1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18],There:[13,14],These:[9,17],Use:[5,14,17],Used:[3,14],Using:12,Yes:9,__cmp__:8,__init__:[2,3,4,6,8,9,12,13,14,15,16,17],__iter__:5,__len__:1,__next__:5,__repr__:[2,9,17],__str__:[9,14],__weakref__:[1,3,4,6,7,8,9,10,11,13,14,15,16],_flag:[5,14],
 
_preferred_ciph:17,_preferred_kex:17,_ssh_build_mic:16,_ssh_gssapi_new:16,_ssh_gssapi_old:16,_ssh_gssauth:16,_ssh_sspi:16,abil:14,abl:2,about:[4,8,13,14],abov:[4,13],abruptli:14,absent:[5,14],absolut:[5,14],accept:[2,3,13,14,16,17],acceptenv:2,access:[4,5,13,14,15],accord:4,account:13,accur:[5,14],achiev:17,across:[2,4,13,14,17],act:[11,13,18],activ:[0,2,14,17],actual:[2,4,5,11,13,14,16,17],add:[0,1,3,4,5,6,8,9,13,14,17],add_adaptive_int:9,add_boolean:9,add_byt:9,add_int64:9,add_int:9,add_list:9,add_mpint:9,add_prompt:13,add_server_kei:17,add_str:9,added:[3,8,13,14,16],adding:[3,6],addit:[2,4,14,17],address:[0,2,13,15,17],addressfamili:4,adequ:14,advers:17,affect:[2,11,14,17],after:[0,1,2,3,5,10,13,14,17],afterward:14,again:[2,13,17],against:[3,4],agent:[2,3,13,17,18],agentclientproxi:0,agentforward:13,agentkei:0,agentlocalproxi:0,agentproxythread:0,agentremoteproxi:0,agentrequesthandl:0,agentserverproxi:0,agre:17,aka:[4,14],algorithm:[3,8,14,15,17],alia:[14,17],alias:14,aliv:[0,17]
 
,all:[0,1,2,4,5,6,8,10,13,14,15,17],alloc:[13,17],allow:[2,13,14,15,17,18],allow_ag:3,almost:[13,17],along:4,alongsid:3,alphabet:4,alreadi:[4,9,14],also:[0,2,3,13,14,17],alter:14,altern:[4,14],alwai:[0,2,10,13,14,17],amount:[1,2,10],ani:[0,1,2,3,4,5,6,9,13,14,17],anoth:[0,1,2,8,9,12],answer:[13,17],anticip:14,anyth:[3,9,17],anytim:3,api:[2,3,8,13,14,17],apolog:14,appear:3,append:[5,14],appli:4,applic:[2,3,4,13],appropri:[4,14],approxim:[5,14],arbitrari:[4,9,14,17],area:18,aren:[9,13],arg:4,arguabl:6,argument:[0,1,2,3,5,12,13,14,17],aros:15,around:[2,4,5,17],arrang:0,arriv:[1,2,13,17],as_bool:4,as_int:4,asbyt:[8,9],asid:13,ask:[0,2,3,13,14,17],aspect:3,assert:4,assign:[13,17],associ:[2,6,13,14],assum:[1,3,5,10,13,14,15],asymmetr:8,asynchron:17,asyncor:2,atfork:17,atim:14,attach:[2,17],attack:17,attemp:14,attempt:[0,1,2,3,10,13,14,15,16,17],attr:[8,14],attribut:[14,15,17],autent:17,auth:[2,3,8,13,17],auth_cooki:[2,13],auth_fail:13,auth_gssapi_keyex:17,auth_gssapi_with_m:17,auth_intera
 
ct:17,auth_interactive_dumb:17,auth_method:16,auth_non:17,auth_partially_success:13,auth_password:17,auth_protocol:[2,13],auth_publickei:17,auth_success:13,auth_timeout:3,authent:[0,2,3,7,8,13,14,15,17],authenticationexcept:[3,15,17],authhandl:13,author:14,autoaddpolici:3,autom:17,automat:[0,2,3,17],avail:[0,13,16],avoid:[2,14],back:[2,3,4,5,13,17],background:[2,14],backward:[4,14,17],bad:2,badauthenticationtyp:[15,17],badhostkeyexcept:[3,15],banner:[3,13,17],banner_timeout:3,bar:4,bare:8,base64:[0,8],base:[0,4,5,8,9,10,14,17],basestr:17,basic:[2,8,18],battl:17,bear:8,becaus:[2,5,8,13,14,15,16,17],becom:4,been:[0,1,2,5,9,13,14,17],befor:[0,1,2,6,8,10,14,17],begin:[4,9,13,14,17],behav:[2,14,17],behavior:[2,4,13,14,17],being:[0,2,3,4,13,14,17],belief:17,below:[4,13],besid:17,betti:14,between:[0,12],binari:[0,5,8,14],bind:17,bit:[0,2,8,9,14],bitset:14,bizarr:14,blindli:13,blob:[0,8],block:[0,1,2,10,13,14,17],block_engin:10,block_siz:[10,14],book:10,bool:[2,3,9,10,13,14,16,17],both:[2,3
 
,4,11,13,14,17],bother:6,boundari:14,brief:4,buff:[5,14],buffer:[2,14,18],buffered_pip:1,bufferedfil:[5,14],bufferedpip:1,bufsiz:[2,3,5,14],bug:6,build:9,built:[2,3,14],builtin:[4,17],byte_count:17,bytearrai:[5,14],cach:[3,13],call:[0,1,2,3,4,5,6,8,10,13,14,16,17],callabl:[2,3,14,17],callback:[10,14],can:[0,1,2,3,4,5,6,8,9,10,11,12,13,14,17],can_sign:[0,8],cancel:[13,17],cancel_port_forward:17,cancel_port_forward_request:13,cannot:[4,8,14],canon:14,canonic:[3,4,14,15,17],canonicaldomain:4,canonicaliz:4,canonicalizefallbackloc:4,canonicalizehostnam:4,canonicalizemaxdot:4,canonicalizepermittedcnam:4,captur:15,care:[3,6,8,14],cast:4,caus:[0,2,13,14,17],caveat:4,cc_file:13,cc_filenam:13,cert:[0,3,8],certain:[15,17],certainli:13,certif:[0,3,8],certkei:[0,8],cetain:13,challeng:13,chan:[0,2],chanclient:0,chang:[0,2,3,4,8,14,17],changelog:18,chanid:[2,13],channel:[0,1,3,13,14,15,17,18],channelexcept:15,channelfil:2,channelstderrfil:2,channelstdinfil:2,chanremot:0,charact:[2,3,5,9,13,14],cha
 
rg:0,chattr:14,chdir:14,check:[2,3,5,6,10,13,14,16,18],check_auth_gssapi_keyex:13,check_auth_gssapi_with_m:13,check_auth_interact:13,check_auth_interactive_respons:13,check_auth_non:[13,17],check_auth_password:[13,17],check_auth_publickei:[13,17],check_channel_direct_tcpip_request:13,check_channel_env_request:13,check_channel_exec_request:13,check_channel_forward_agent_request:13,check_channel_pty_request:13,check_channel_request:[2,13,17],check_channel_shell_request:13,check_channel_subsystem_request:13,check_channel_window_change_request:13,check_channel_x11_request:13,check_global_request:13,check_port_forward_request:13,check_rekei:10,child:17,chmod:14,chown:14,chunk:14,cipher:[10,17],claim:17,clariti:4,classmethod:[4,6,8,14],clean:[0,17],cleanli:[14,17],cleanup:[13,14],clear:[1,6,11,17],client:[0,2,8,12,13,14,16,17,18],client_token:16,clone:0,close:[0,1,2,3,4,5,10,13,14,17],code:[2,4,13,14,15,17],collect:[2,3,14],com:[0,3,4,8,13,17],combin:[2,6,9,13],come:14,comma:[9,13],comman
 
d:[0,2,3,12,13,15],command_lin:12,commandproxi:12,comment:[6,8],common:[2,8,14],commonli:14,commun:[0,3,17],compar:8,compat:[0,4,8,14,17],complet:[2,10,13,14,17],complete_handshak:10,compon:3,compress:[3,4,17],comput:[14,17],concaten:[9,14],concept:14,condit:2,conf:4,config:[15,18],configparseerror:15,configur:[2,18],confirm:14,conflict:3,confus:17,connect:[0,2,3,4,7,13,15,16,17],consid:[2,14],consist:14,constant:2,constraint:16,construct:17,constructor:[0,2,3,4,8,9,14,17],consum:4,contact:0,contain:[0,2,3,4,5,8,9,13,14,16,17],content:[0,7,8,9,12,14,17,18],context:[2,3,12,14,16,17],contextu:13,continu:[2,13,14,17],contributor:4,control:[0,2,13,14,17,18],controlpath:4,conveni:[2,4,14],convent:14,convers:4,convert:[14,17],convert_errno:14,cooki:[2,13],copi:[4,14],core:17,correctli:[0,2,8],correspond:[8,13,14],corrupt:17,could:[2,3,4,9,10,14,16],couldn:0,couldnotcanonic:[4,15],count:[5,14],cover:18,creat:[0,2,3,4,6,8,9,12,13,14,16,17],creation:18,credentail:16,credenti:[3,7,13,15,16,17
 
],credentials_deleg:16,criteria:17,crlf:13,cross:[14,18],cryptographi:8,current:[0,2,3,5,10,14,16,17,18],curv:8,custom:9,cycl:[13,14],daemon:0,danger:13,data:[0,1,2,4,5,6,8,10,13,14,15,17,18],databas:[3,17],deadlock:0,deal:9,debian:17,debug:[2,9,17],decid:[0,8,13,18],declar:4,decod:9,decompos:9,decor:2,decrypt:[0,3,8],deeper:4,default_max_packet_s:17,default_window_s:[2,17],defin:[1,3,4,6,7,8,9,10,11,13,14,15,16,17],definit:8,deleg:[3,7,13,16,17],delet:14,deliveri:2,demand:17,deni:17,departur:4,depend:[2,4,14,17],deprec:[5,14],der:16,deriv:[0,8],describ:[4,15],descript:14,descriptor:2,desctruct:14,desir:[2,5,14,16,17],desired_mech:16,dest:14,dest_addr:17,destin:[13,14,17],destroi:14,detail:[2,3,4,14,17,18],determin:[2,4,13,14,17],determinist:9,develop:13,dialog:17,dict:[0,2,3,4,6,14,15,17],dictionari:[2,4,6,17],did:[14,15],didn:[13,14],differ:[8,14,15,17],diffi:[7,17],difficult:17,digest:17,dimens:13,direct:[2,4,14,17,18],directli:[2,3,4,17],directori:[4,14],disabl:[2,3,15,17],disab
 
led_algorithm:[3,17],disagr:15,disallow:2,discover:3,disk:[4,8,14],displai:13,dispos:2,disrupt:17,distribut:17,doc:[4,14],docstr:15,document:17,doe:[1,2,3,4,5,9,13,14,17],doesn:[2,4,5,6,9,14,16,17],doing:[14,17],domain:4,don:[2,6,9,13,14,17],done:[1,3,10,13,17,18],down:[2,9],download:14,dramat:14,driven:12,dsa:18,dss:[6,17,18],dsskei:[0,8,17],due:[14,17],dumb:[8,17],dumber:17,dump:17,dure:[4,6,10,13,17],each:[3,4,13,14,17],eas:17,easi:[4,14],ecdsa:18,ecdsakei:8,echo:[13,17],ed25519:18,ed25519kei:8,effect:[2,4,17],effici:[2,14],effort:[0,8],either:[0,2,3,4,6,11,13,14,16,17,18],elaps:[1,2],els:[2,4,5,6,13,14,17],elsewher:4,empti:[0,1,5,6,13,14,17],emul:[2,3,14],enabl:[4,13,17],enable_auth_gssapi:13,encod:[5,9,14,16],encount:[4,5,14,15],encrypt:[0,8,10,17,18],end:[0,2,3,4,5,11,13,14,17],enough:[0,2,8],ensur:2,enter:17,entir:[0,2,4,5,14],entri:[2,4,6,14],enumer:0,env:13,environ:[2,3,13],environn:0,eof:[2,5,13,14],eoferror:[10,17],epoch:14,equal:8,equival:[2,6,8,9,14],errno:[14,15],error
 
:[0,2,3,6,7,8,13,14,15,16,17],escap:14,especi:14,establish:[0,3],etc:[2,9,14,15,17],etm:10,even:[0,5,14,17],event:[1,11,17],ever:[2,10,17],everi:10,exactli:[2,13,14,17],examin:3,exampl:[0,2,3,4,8,13,14,15,17],exceedingli:13,except:[0,1,2,3,5,6,7,10,14,16,17,18],exchang:[3,13,15,16,17,18],exec_command:[0,2,3],execut:[0,2,3,10,12,13],exist:[0,2,3,6,8,14,17],exit:[0,2,13,15],exit_status_readi:2,expand:4,expandus:6,expans:18,expect:[0,2,6,14,15,17,18],expected_kei:15,explan:15,explicit:[3,4],explicitli:[3,4,14,17],expos:[4,9,15],express:[1,2,4],extend:[0,4,14],extens:[9,13,14,17],extra:[13,17],fabric:4,facto:4,factor:[14,17],factori:[0,8],fail:[2,3,5,13,15,16,17],failur:[3,13,14,15,17],fake:[0,2],fallback:[15,17],fals:[0,1,2,3,4,5,6,8,10,13,14,16,17],famili:15,far:14,faster:2,fatal:15,featur:[4,9,14],fed:1,feed:1,feeder:1,fetch:[2,9,14,17],few:10,fewer:14,fget:[5,14],field:[14,17],file:[0,1,2,3,4,8,14,15,16,17,18],file_obj:[0,4,8],file_s:14,filenam:[0,3,6,8,13,14,17],fileno:2,filesystem
 
:14,fill:[2,8,14],find:[0,2,3,6,14],fine:[4,14],fingerprint:[0,8],finish:[2,13,18],finish_subsystem:13,firewal:17,first:[2,4,5,14,17],fit:17,flag:[5,14],flag_binari:[5,14],flo:4,flow:[2,18],flush:[2,5,14],folder:14,follow:[2,3,4,13,14,17,18],foo:[4,14],forc:[5,14,17],forev:[1,13,17],fork:[12,17],form:[6,14,16,17],format:[0,4,6,8,9,14],forward:[0,2,13,17],forward_agent_handl:0,found:[0,3,4,6,14,15],fqdn:[4,16],fraction:0,from:[0,1,2,3,4,5,6,8,9,10,12,13,14,15,16,17],from_fil:[4,8],from_lin:6,from_messag:8,from_path:4,from_private_kei:[0,8],from_private_key_fil:[0,8],from_stat:14,from_str:8,from_text:4,from_transport:14,fseek:5,full:14,fulli:4,func:[2,14,17],further:[2,13],futur:[1,2,5,13,14],garbag:[2,3],gener:[1,2,3,4,8,13,14,15,16,17],gentoo:17,get:[2,3,4,14,17],get_adaptive_int:9,get_agent_connect:0,get_allowed_auth:[13,17],get_bann:[13,17],get_base64:[0,8],get_binari:9,get_bit:[0,8],get_boolean:9,get_byt:9,get_channel:14,get_connect:0,get_env:0,get_except:17,get_fingerprint:[0,8]
 
,get_hexdump:17,get_host_kei:3,get_hostnam:4,get_id:[0,2,13],get_int64:9,get_int:9,get_kei:0,get_list:9,get_log_channel:17,get_mpint:9,get_nam:[2,8,17],get_pti:[2,3],get_remaind:9,get_remote_server_kei:17,get_security_opt:17,get_serv:13,get_server_kei:17,get_so_far:9,get_str:9,get_text:9,get_transport:[0,2,3],get_usernam:17,getcwd:14,getfo:14,getpass:4,getpeernam:[2,17],gettimeout:[2,14],getus:4,gid:14,git:0,github:[0,8],give:17,given:[0,1,2,3,4,6,8,13,14,15,16,17],global:[13,17],global_request:17,gmt:14,goe:14,going:2,good:[0,8,13,14,17],got_kei:15,grant:13,greater:14,group14:7,group16:17,group:[7,14,17],gss:[3,13,17,18],gss_auth:[3,17],gss_auth_avail:16,gss_authent:13,gss_deleg_cr:[3,16,17],gss_except:16,gss_host:[3,17],gss_kex:[3,16,17],gss_trust_dn:[3,17],gssapi:[13,16,17],gssapi_request:17,gssauth:16,gsserror:16,gssexcept:16,guarante:15,habit:2,had:[9,17],half:17,halv:2,hand:[0,3],handi:14,handl:[0,10,13,14,15,17,18],handler:[2,13,14,17],handshak:10,handshake_timed_out:10,hang:
 
[2,3,14],happen:[0,5,17],has:[0,1,2,3,4,5,8,10,13,14,16,17],hasattr:14,hash:[6,14,17],hash_algorithm:14,hash_host:6,hasn:2,have:[1,2,4,5,6,9,13,14,17,18],haven:[9,14,17],hazmat:8,height:[2,3,13],height_pixel:[2,3],held:0,hellman:[7,17],helper:[0,14],here:13,hex:17,hexadecim:2,hexdump:17,high:[3,18],higher:4,highlight:4,hint:14,hit:[5,14,17],home:[4,14],honor:4,hook:[3,13],host:[0,3,4,7,8,12,13,14,15,17,18],hostkei:[3,6,17],hostkeyentri:6,hostnam:[3,4,6,15,16,17],how:[2,4,9,12,14,18],howev:[0,8,14],http:[0,8,13],hundr:2,id_dsa:3,id_ecdsa:3,id_rsa:3,idea:[5,13,14],ident:[0,2,5,9,14],identif:0,identifi:[0,13,17],ignor:[5,14,17],immedi:[1,2,5,14,15,17],impact:4,implement:[0,3,4,5,7,8,9,10,12,14,16,17,18],impli:[14,15],importerror:16,imposs:11,improv:14,inbound:10,includ:[0,4,5,6,8,13,14,17,18],incom:[2,7,17],incompat:0,incompatiblep:15,incomplet:[5,14],incorrect:17,increment:14,indefinit:[2,13],independ:2,indic:[0,1,3,8,10,13,14,16,17],indistinguish:2,individu:[6,14],infinit:9,info:[0,4
 
,8,14,17,18],inform:[0,4,8,13,14,17],inherit:0,initi:[0,2,16],input:[3,5,12,14],insid:17,insofar:4,instal:4,instanc:[2,3,8,12,14,15,17],instanti:[0,4,8],instantli:2,instead:[0,4,5,8,12,14],instruct:[13,17],integ:[0,4,9,14],intend:[5,14],interact:[2,3,13,14,17],interactivequeri:13,interest:[4,18],interfac:[0,2,3,5,12,13,14],intern:[5,8,14,15],internet:14,interpret:[2,3,4,13],interv:[10,17],introduc:4,invalid:[0,8],invok:[0,2,3,4,13],invoke_shel:[2,3],invoke_subsystem:2,ioerror:[0,3,5,6,8,14],ip_address:13,ipv4:15,irrit:2,is_act:[13,17],is_al:0,is_authent:17,isal:0,isn:[2,3,13,15,17],issu:[4,14],item:[9,13],iter:[5,14,17],its:[2,3,5,8,13,14,18],itself:[3,4,5,14],januari:14,join:0,judg:[0,8],junk:17,just:[0,3,6,9,13,14,16,17],keep:[10,17],keepal:[10,17],kei:[0,3,4,10,13,15,16,17],kept:[5,14,17],kerbero:[3,13,16,17],kex:17,kex_gss:[7,13],kexgssgex:7,kexgssgroup14:7,kexgssgroup1:7,key_filenam:3,key_typ:17,keyboard:[13,17],keyex:16,keytyp:6,keyword:[3,14,15,17,18],kind:[2,3,13,17,18],know
 
:17,knowledg:[2,4],known:[3,4,6,9,13,14,17],known_host:18,krb5:[13,16],krb5_kuserok:13,krb5_princip:13,kwarg:[2,3,4,8,14,17],languag:13,larg:[2,10,14,17],larger:2,last:[2,3,14,17],latenc:14,later:[4,8,14,17],latter:13,launch:0,lazyfqdn:4,lead:[3,6],least:[1,2,10],left:[0,3],len:[5,14,17],length:[1,2,5,9,14,16],less:[2,5,14],level:[2,3,4,9,11,14,17,18],leverag:4,librari:[4,13],lifetim:17,like:[0,2,3,4,5,6,8,11,12,13,14,15,17,18],line:[5,6,10,13,14,15],lineno:6,link:[14,17],linux:13,list:[0,1,3,4,5,6,7,8,9,10,11,13,14,15,16,17],list_fold:14,listdir:14,listdir_attr:14,listdir_it:14,listen:[13,17],liter:4,littl:[0,8,14],live:[0,17],load:[0,3,4,6,8,13,17],load_certif:[0,8],load_host_kei:3,load_server_moduli:17,load_system_host_kei:3,local:[0,2,3,4,13,14,17],localpath:14,locat:17,lock:10,log:[3,10,13,17],logfil:2,logic:[13,15],login:[13,16],longer:[2,17],longnam:14,look:[4,6],look_for_kei:3,lookup:[4,6],loop:13,lost:0,low:9,lower:3,lowercas:4,lstat:14,mac:10,mac_engin:10,mac_kei:10,mac_si
 
z:10,machin:[0,12],machineri:14,made:[0,2,3,4,8,13,14,15,17],magic:[0,2,8],mai:[0,1,2,3,4,5,9,11,12,13,14,15,17,18],main:[0,8,18],maintain:[16,18],major:4,make:[2,11,12,13,14,17],make_or_pip:11,makefil:2,makefile_stderr:2,makefile_stdin:2,malici:14,man:[4,13],manag:[2,3,12,14,17],mangl:10,mani:[0,2,7,12,14,17],manipul:3,manner:15,manual:0,map:[14,17],marker:4,mask:14,master:[0,8],match:[3,4,5,8,14,15,17,18],max:[14,17],max_packet_s:[14,17],maximum:[1,2,5,14],md5:[0,8,14],mean:[1,2,4,14,15],meant:[2,14,17],mechan:[3,16],member:17,memor:2,merg:[3,6],messag:[0,7,8,13,15,16,17,18],method:[0,1,2,3,4,6,7,8,9,13,14,16,17],mic:[16,17],mic_token:16,microsoft:16,might:[13,14,17],mimic:14,mimick:14,minor:4,mirror:14,misguid:17,miss:[3,14],missing_host_kei:3,missinghostkeypolici:3,misus:15,mit:[2,16],mix:5,mkdir:14,mode:[2,5,7,13,14,16,17],modif:14,modifi:[3,14,17],modul:[0,2,7,14,16,17,18],moduli:17,more:[0,1,2,4,6,13,14,15,17,18],most:[0,3,4,5,8,14,15],mostli:[0,2,4,14],move:[5,14],movement:5
 
,mp3:13,mp3handler:13,mpint:9,msg:[0,8,13],mtime:14,much:[2,13,14],multi:17,multipl:[0,3,6,13,14,15,17],multiplex:17,must:[0,2,4,6,11,13,14,17],my_config:4,myhost:4,name:[0,2,3,5,6,8,13,14,16,17],nat:17,nativ:[0,4],natur:4,nbyte:[1,2],nearli:11,necessari:[0,2,8,10,14],need:[0,1,2,3,9,10,12,13,15,17,18],need_rekei:10,needrekeyexcept:10,neg:[5,14,17],negoti:[6,10,14,15,16,17,18],network:[2,8,17],never:[2,17],newer:[4,16],newli:14,newlin:[5,6,14],newpath:14,next:[5,7,9,14,17],niceti:4,nois:17,non:[0,2,5,8,9,14,16],none:[0,1,2,3,4,5,6,8,9,13,14,15,16,17],nonneg:[1,2],nonzero:0,normal:[0,1,2,4,9,11,14,15,17],normpath:14,notat:14,note:[0,2,4,8,13,14,16],noth:[0,2,5,8,13,14,17],notic:[2,13],notimplementederror:16,novalidconnectionserror:15,now:[4,13],nullhostkei:7,number:[0,1,2,5,8,9,10,13,14,16,17],numer:14,o_append:14,o_creat:14,o_excl:14,o_rdonli:14,o_rdwr:14,o_trunc:14,o_wronli:14,obei:[1,14],obj:[9,14],object:[0,1,2,3,4,5,6,7,8,9,10,11,13,14,15,16,17,18],obscur:17,obtain:[0,4],obviou:
 
14,occasion:14,occur:[0,2,3,5,7,14],octal:14,off:[10,14,17],offer:[0,8],offset:[5,14],often:17,oid:16,okai:[5,10,13],old:3,older:[4,16],oldpath:14,omit:[2,5,14],onc:[0,1,2,13,14,17,18],one:[0,1,2,3,4,5,6,8,10,11,13,14,17],ones:6,onli:[0,2,3,4,5,8,9,10,11,13,14,15,16,17],open:[0,2,3,4,5,13,14,15,17],open_channel:17,open_failed_administratively_prohibit:13,open_failed_connect_fail:13,open_failed_resource_shortag:13,open_failed_unknown_channel_typ:13,open_forward_agent_channel:17,open_forwarded_tcpip_channel:17,open_onli:2,open_sess:[0,17],open_sftp:3,open_sftp_cli:17,open_succeed:13,open_x11_channel:[13,17],openssh:[0,2,3,4,6,8,10,14,17],oper:[0,1,2,5,14,17],option:[0,1,2,3,4,5,6,8,13,14,17],order:[3,4,6,14,17],org:4,organ:18,orient:17,origin:[6,13,14,17],origin_addr:17,origin_port:17,oserror:14,other:[0,2,3,4,8,10,14,15,17],otherwis:[0,1,2,6,8,13,14,16,17],our:4,out:[0,1,5,9,10,14],outbound:[2,10],outgo:2,output:[2,3,12,15],outsid:14,over:[2,5,14,17,18],overal:14,overrid:[3,13,14,17]
 
,overridden:14,overwrit:13,overwritten:14,own:[4,5,8,13],owner:14,ownership:14,packag:16,packet:[7,8,12,14,17,18],page:[4,13],pageant:0,pair:[0,6,13],paket:7,pam:17,param:[2,10,14],paramet:[0,1,2,3,4,5,6,7,8,9,10,12,13,14,15,16,17],paramiko:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],parent:[17,18],pars:[4,6,7,9,15],parse_next:7,parser:4,part:[0,1,2,8,17],partial:[2,14,15,17],partialauthent:15,particular:[2,4],partit:14,pass:[2,3,4,8,9,10,12,13,14,17,18],passphras:3,password:[0,3,8,13,15,17,18],passwordauthent:4,passwordrequiredexcept:[0,8,15],past:14,path:[3,4,6,13,14,17],pathnam:14,pattern:4,paus:17,payload:17,pend:[2,10,14],peopl:[2,9],per:[0,4,8,14],perform:[2,3,13,14,16,17],perhap:17,period:[1,2],permiss:[14,17],permit:17,peroid:17,pick:[13,17],pipe:[2,18],pipelin:14,pipetimeout:1,pixel:[2,3,13],pixelheight:13,pixelwidth:13,pkei:[0,3,6,8,13,15,17],place:13,plai:17,plain:[3,8,17],platform:18,plattform:13,pleas:[4,18],plu:3,point:0,polici:3,poll:2,popen:12,port:[0,2,3,4,13,15,1
 
7],portabl:[0,8],portion:17,posit:[5,9,14],posix:[3,4,6,14,17],posix_renam:14,possibl:[2,4,5,6,8,10,12,13,14,15,17],potenti:4,practic:2,pre:[3,13,14],precis:9,predat:[5,14],prefer:[13,17],prefetch:14,prematur:17,presenc:14,present:[0,2,3,4,5,14,15],preserv:6,pretti:17,previou:[0,2,4,13,17],previous:[2,3,13,14,17],primari:[0,13],primarili:[2,3,4,14],prime:17,primit:8,princip:13,print:17,prior:[1,2],prioriti:3,privat:[0,3,8,15,17,18],probabl:[3,13,14],problem:2,proce:2,process:[0,2,3,4,10,13,17],produc:[5,14],program:[0,12],progress_func:8,project:18,prompt:[13,17],prompt_list:17,properti:4,protocol:[0,2,8,10,13,14,15,17],provid:[2,3,4,7,13,14,16,18],proxi:[0,12,14,15],proxycommand:[4,15,18],proxycommandfailur:15,pseudo:[2,3,4,13,16],pty:[2,13],ptype:7,pub:[0,3,8],pubkei:[8,17],publicblob:8,publickei:13,purpos:[0,4],put:14,putfo:14,putti:0,python:[0,2,3,4,5,8,9,10,13,14,16,18],queri:[4,13],question:[13,17],queu:2,queue:[2,17],quickli:14,rais:[0,1,2,3,4,5,6,8,10,14,15,16,17],random:[2,
 
5,14,17],rare:17,rather:17,raw:[0,4,8,9],reach:[1,5,10,14],read:[0,1,2,3,4,5,6,8,10,11,12,14,17],read_ahead:14,read_al:10,read_messag:10,read_readi:1,readabl:[5,11,14],readfil:14,readi:[1,2],readinto:[5,14],readlin:[5,10,14],readlink:14,readv:14,real:[0,2,8,11,15,17],realli:[2,9,14],realpath:14,reason:[4,13,15],recal:4,receiv:[1,2,3,12,16,17,18],recent:17,recogn:[0,8,17],recommend:2,recv:[2,12,17],recv_exit_statu:2,recv_readi:2,recv_stderr:2,recv_stderr_readi:2,recv_token:16,recycl:0,refer:[1,3,4,6,7,8,9,10,11,13,14,15,16,17],reflect:2,refus:[13,17],regard:15,regener:9,regist:[3,13],regular:[3,12],reject:[2,3,13,17],rejectpolici:3,rekei:10,rel:[0,5,8,14],relat:3,releas:4,reliabl:3,remain:[2,5,9,14],remaind:14,remot:[0,2,3,13,14,17,18],remote_chanid:2,remotepath:14,remov:[6,14],renam:14,renegoti:17,renegotiate_kei:17,replac:[2,3,6],report:13,repositori:0,repres:[0,1,2,3,7,8,14,15,17],represent:[2,3,4,6,8,9,14,17],request:[0,2,3,4,8,12,13,14,17,18],request_forward_ag:[0,2],request_por
 
t_forward:17,request_x11:2,requir:[2,3,7,13,14,15,17],reset:[2,10],resiz:[2,13],resize_pti:2,resolut:15,resolv:14,respect:[2,14],respond:[13,17],respons:[2,3,13,14,17,18],rest:4,restrict:14,result:[1,2,4,13,14],retain:4,retri:15,retriev:[0,2,13,14],reus:2,reusabl:5,reveal:[0,8,14],rewind:9,rfc3066:13,rfc:[2,7,16],rich:14,right:2,rmdir:14,round:[5,14],roundtrip:14,rout:13,rsa:[6,17,18],rsakei:[0,8,17],rsync:14,rule:4,run:[0,2,3,12,13],runtimeerror:0,safe:17,sai:[7,17],sake:[4,14],salt:6,same:[0,2,3,4,13,14,15,17],sampl:17,san:4,save:[3,6,16,17],save_client_cr:16,save_host_kei:3,saver:14,screen:[2,13],screen_numb:[2,13],sdctr:10,search:3,second:[0,1,2,3,10,14,17],secp256r1:8,secret:[0,8],section:[4,7,14],secur:[0,2,3,8,14,17],securityopt:17,see:[0,2,3,4,8,13,14,15,16,17,18],seek:[5,14],seekabl:[5,14],seen:4,segment:14,select:[2,3,11],self:[5,14,17],semant:[0,1,2],send:[2,6,12,13,17,18],send_exit_statu:2,send_ignor:17,send_messag:10,send_readi:2,send_stderr:2,sendal:2,sendall_stderr:2,
 
sens:[2,13],sent:[2,12,13,17],separ:[0,1,4,5,9,13,14,17],seq:9,sequenc:[5,9,14,16],seri:[13,14],serv:14,server:[0,2,3,6,7,8,12,14,15,16,17,18],server_addr:17,server_port:17,server_sig_alg:17,serveraliveinterv:4,serverinterfac:[2,13,14,17],servic:[13,16],session:[0,2,3,13,14,16,17,18],session_end:14,session_id:16,session_start:14,set:[0,1,2,3,4,5,10,11,13,14,16,17],set_combine_stderr:2,set_environment_vari:[2,3],set_ev:1,set_file_attr:14,set_gss_host:17,set_hexdump:17,set_inbound_ciph:10,set_keepal:[10,17],set_log:10,set_log_channel:[3,17],set_missing_host_key_polici:3,set_nam:2,set_outbound_ciph:10,set_pipelin:14,set_servic:16,set_subsystem_handl:[13,14,17],set_usernam:16,setblock:[2,14],setter:16,settimeout:[2,3,14,17],setup:14,sftp:[2,3,13,17,18],sftp_:14,sftp_attr:14,sftp_client:14,sftp_eof:14,sftp_file:14,sftp_handl:14,sftp_no_such_fil:14,sftp_ok:14,sftp_permission_deni:14,sftp_server:14,sftp_si:14,sftpattribut:14,sftpclient:[3,14,17],sftpfile:14,sftphandl:14,sftpserver:14,sftps
 
erverinterfac:14,sha1:14,sha512:17,sha:14,share:[16,17],shell:[2,3,13],shortcut:[14,17],shorter:12,should:[0,2,3,4,6,8,10,12,13,14,17],shouldn:[2,13],show:2,shrink:14,shut:2,shutdown:2,shutdown_read:2,shutdown_writ:2,side:[0,2,8,13,14,17,18],sign:[0,8,17],sign_ssh_data:8,signal:[10,16],signatur:[0,2,8,13,18],signifi:14,signific:[0,8],signtatur:13,silent:[2,3],similar:[4,13,14],similarli:2,simpl:17,simpler:[4,5,17],simpli:[0,2,3,4,17],simul:2,sinc:[0,4,5,8,14,17],singl:[2,6,9,13,14,15,16,17],single_connect:[2,13],site:18,situat:[2,14,17],size:[3,5,12,14,17],sizehint:[5,14],slack:14,sleep:13,slightli:2,small:[2,13],snippet:4,sock:[3,14,17],socket:[0,1,2,3,10,11,12,14,15,17,18],some:[0,2,3,4,5,9,13,14,15,17],someth:[13,14,17],sometim:17,sort:2,sourc:[4,14,17],space:2,span:13,speak:0,special:14,specif:[3,4,8,13,14,15,17],specifi:[0,1,2,4,5,13,14,15,16,17],speed:14,split:6,src_addr:17,ssh2:[2,8,9,15,16,17],ssh:[2,3,4,5,6,8,10,12,13,14,15,16,17],ssh_accept_sec_context:16,ssh_auth_sock:0,s
 
sh_check_mech:16,ssh_check_mic:16,ssh_config:[4,15],ssh_except:15,ssh_fxp_readdir:14,ssh_get_mic:16,ssh_gss:[13,16],ssh_gss_oid:16,ssh_init_sec_context:16,sshclient:[0,3,18],sshconfig:4,sshconfigdict:4,sshexcept:[0,2,3,8,10,14,15,16,17],sspi:[7,16,17],st_atim:14,st_gid:14,st_mode:14,st_mtime:14,st_size:14,st_uid:14,stage:17,stall:2,standard:[4,12,14,17],start:[0,3,7,10,13,14,17,18],start_client:[17,18],start_handshak:10,start_kex:7,start_serv:[17,18],start_subsystem:13,stat:14,state:[6,13],statist:14,statu:[2,10],stderr:[2,3,13],stdin:[2,3,13],stdio:[5,14],stdout:[2,3,13,17],step:17,still:[0,13,17],stop:[2,14,17],stopiter:5,store:[0,4,6,8,14,15,16,17],str:[0,1,2,3,4,5,6,8,9,10,12,13,14,15,16,17],stream:[2,3,5,9,17],string:[0,1,2,4,5,6,7,8,9,12,13,14,16,17],strip:4,structur:[3,4,14],style:[3,4,5,6,8,13,14],sub:17,subclass:[0,2,3,4,8,13,14,15,17],submethod:[13,17],subprocess:12,subsequ:[2,17],subset:3,substitut:4,subsystem:[2,13,14,17],subsystemhandl:[13,14,17],subsytem:13,succe:[0,2,
 
13,14,17],succeed:15,success:[13,14,16,17],successfulli:[0,4,8,13,17],suffic:14,suffici:[0,2,8],suitabl:[8,17],supplement:[0,8],suppli:[4,13,17],support:[0,5,7,8,9,13,14,16,17,18],sure:[2,13],surpris:2,swap:17,symbol:14,symlink:14,symmetr:17,synchron:1,syntax:15,system:[3,4,14,17],tabl:[6,18],take:[3,13],taken:6,talk:[12,17],target:[3,4,14,16,17],target_path:14,task:3,tcp:[3,13,17],tcpip:17,tell:[5,10,14],term:[2,3,13],termin:[0,2,3,7,13,17],terminolog:8,test:17,text:[4,5,6,14,15,17],than:[0,2,12,14,17],thei:[2,3,4,5,8,9,13,14,17],them:[2,3,5,13,14,17],themselv:[4,8],therefor:0,thereof:[0,3],thi:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18],thing:14,those:[3,14,17],thread:[0,1,2,10,13,14,17],through:[0,2,3,8,13,14],thrown:[0,7,8,14,15,17],thu:[4,7,14,15,17],tied:17,time:[0,2,3,4,6,8,10,14],timeout:[0,1,2,3,10,14,17],timer:10,titl:17,to_lin:6,togeth:[11,14],token:[16,17,18],too:[2,4,13,14],top:[4,14],total:[5,14],traffic:[12,17],traffix:17,trail:[5,6,14],transfer:[14,17],translat:
 
14,transmit:2,transport:[0,2,3,7,10,12,13,14,18],transport_factori:3,trap:14,travers:17,treat:[4,5,6,14],tri:8,trigger:[4,10,11,17],trivial:[9,11],truncat:14,trust:[3,17],trust_dn:17,tunnel:[2,13,17],tupl:[0,3,13,14,15,16,17],turn:[3,5,10,14,17],tuser:4,tweak:17,two:[0,2,11,17],type:[0,2,3,4,5,6,7,8,9,13,14,15,16,17],type_:8,typeerror:17,typic:[3,4,5,14,15],uid:14,umask:14,unabl:2,undefin:17,under:0,underii:14,underli:[3,5,13,14,15,16,17],understand:2,undon:5,unfortun:6,unhandl:0,unheard:9,unicod:[9,14],unifi:15,uniqu:[2,13],unix:[0,2,13,14,16],unknown:[3,13,17],unless:[2,13],unlik:[2,5,14],unlink:14,unlock:[3,15],unmaintain:16,unopen:2,unprint:9,unsign:9,until:[0,2,14,17],unus:8,updat:[2,4],update_environ:2,upload:14,upon:[0,17],usag:[4,18],use:[0,2,3,4,6,8,9,10,13,14,16,17,18],use_compress:17,used:[0,1,2,3,4,5,6,8,11,12,13,14,15,16,17],useful:[0,2,3,5,8,13,14,17],usefulli:4,useless:[0,8,13],user:[3,4,13,16,17,18],usernam:[0,3,4,13,16,17],uses:[13,14],using:[0,2,3,5,8,10,13,14,16,1
 
7,18],usual:[2,4,6,13,14,17],utf:[5,14],utim:14,val:8,valid:[0,2,6,8,13],validate_point:8,valu:[0,1,2,4,8,9,10,13,14,15,16,17],valueerror:[4,5,17],vari:14,variabl:[0,2,3,4,13,16],variou:[14,17],veri:[0,8,17],verif:[17,18],verifi:[0,2,3,6,8,13,14,16,17],verify_ssh_sig:[0,8],version:[0,2,3,4,6,7,8,13,14,15,16,17],versionad:14,via:[2,3,4,13,14,17],violat:15,vt100:[2,3,13],wai:[2,3,4,11,13,14,17],wait:[0,1,2,3,10,14,17],want:[0,2,3,8,13,14,17],warn:[2,3],warningpolici:3,wasn:10,weak:[1,3,4,6,7,8,9,10,11,13,14,15,16],websit:18,well:[3,4],were:[0,4,6,15],weren:9,what:[5,13,14,15,17,18],whatev:4,when:[0,1,2,3,4,5,6,9,11,13,14,15,17],whenc:[5,14],whenev:[2,13,17],where:[4,11,14,17],whether:[0,2,3,13,14,17],which:[0,1,2,3,4,6,8,11,12,13,14,15,17,18],whitespac:6,who:[2,16,17],whole:[5,14],whose:[0,14,15],width:[2,3,13],width_pixel:[2,3],wildcard:4,willing:13,window:[0,2,3,4,6,11,14,16,17],window_s:[2,14,17],windowspip:11,winsock:11,wish:[2,13],within:[3,5,7,13,14,17],without:[2,3,9,13,14,17],
 
won:[2,13,14],word:17,work:[0,2,4,9,13,14],workaround:14,would:[0,1,2,4,13,14,17],wrap:[2,3,11,12,14,15],wrapper:[2,4,17],writabl:[5,14],write:[0,2,5,6,8,9,10,11,12,14,17],write_private_kei:[0,8],write_private_key_fil:[0,8],writefil:14,writelin:[5,14],written:[2,3,5,10,14,17],wrong:14,www:13,x11:[2,13,17],xreadlin:[5,14],yes:4,yet:[2,4,5,9,14,17],yield:4,you:[0,1,2,3,4,8,9,13,14,17,18],your:[2,3,13,14,17],zero:[1,2,5,9,14]},titles:["SSH
 agents","Buffered pipes","Channel","Client","Configuration","Buffered 
files","Host keys / <code class=\"docutils literal\"><span 
class=\"pre\">known_hosts</span></code> files","GSS-API key exchange","Key 
handling","Message","Packetizer","Cross-platform pipe implementations","<code 
class=\"docutils literal\"><span class=\"pre\">ProxyCommand</span></code> 
support","Server implementation","SFTP","Exceptions","GSS-API 
authentication","Transport","Welcome to Paramiko\u2019s 
documentation!"],titleterms:{"class":[8,18],"function":18,agent:0,api:[4,7,16,18],
 
authent:[16,18],buffer:[1,5],channel:2,client:3,config:4,configur:4,core:18,cross:11,current:4,document:[4,18],dsa:8,dss:8,ecdsa:8,ed25519:8,except:15,exchang:7,expans:4,file:[5,6],gss:[7,16],handl:8,host:6,implement:[11,13],kei:[6,7,8,18],keyword:4,known_host:6,messag:9,miscellani:18,modul:4,other:18,packet:10,paramiko:18,parent:8,pipe:[1,11],platform:11,primari:18,protocol:18,proxycommand:12,rsa:8,server:13,sftp:14,ssh:[0,18],support:[4,12],token:4,transport:17,welcom:18}})
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/paramiko-2.11.0/paramiko/_version.py 
new/paramiko-2.12.0/paramiko/_version.py
--- old/paramiko-2.11.0/paramiko/_version.py    2022-05-17 03:06:20.000000000 
+0200
+++ new/paramiko-2.12.0/paramiko/_version.py    2022-11-04 23:32:40.000000000 
+0100
@@ -1,2 +1,2 @@
-__version_info__ = (2, 11, 0)
+__version_info__ = (2, 12, 0)
 __version__ = ".".join(map(str, __version_info__))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/paramiko-2.11.0/paramiko/client.py 
new/paramiko-2.12.0/paramiko/client.py
--- old/paramiko-2.11.0/paramiko/client.py      2022-05-17 03:04:13.000000000 
+0200
+++ new/paramiko-2.12.0/paramiko/client.py      2022-11-04 23:29:50.000000000 
+0100
@@ -237,6 +237,7 @@
         gss_trust_dns=True,
         passphrase=None,
         disabled_algorithms=None,
+        transport_factory=None,
     ):
         """
         Connect to an SSH server and authenticate to it.  The server's host key
@@ -314,6 +315,12 @@
         :param dict disabled_algorithms:
             an optional dict passed directly to `.Transport` and its keyword
             argument of the same name.
+        :param transport_factory:
+            an optional callable which is handed a subset of the constructor
+            arguments (primarily those related to the socket, GSS
+            functionality, and algorithm selection) and generates a
+            `.Transport` instance to be used by this client. Defaults to
+            `.Transport.__init__`.
 
         :raises:
             `.BadHostKeyException` -- if the server's host key could not be
@@ -333,6 +340,8 @@
             Added the ``passphrase`` argument.
         .. versionchanged:: 2.6
             Added the ``disabled_algorithms`` argument.
+        .. versionchanged:: 2.12
+            Added the ``transport_factory`` argument.
         """
         if not sock:
             errors = {}
@@ -350,6 +359,10 @@
                     # Break out of the loop on success
                     break
                 except socket.error as e:
+                    # As mentioned in socket docs it is better
+                    # to close sockets explicitly
+                    if sock:
+                        sock.close()
                     # Raise anything that isn't a straight up connection error
                     # (such as a resolution error)
                     if e.errno not in (ECONNREFUSED, EHOSTUNREACH):
@@ -367,7 +380,9 @@
             if len(errors) == len(to_try):
                 raise NoValidConnectionsError(errors)
 
-        t = self._transport = Transport(
+        if transport_factory is None:
+            transport_factory = Transport
+        t = self._transport = transport_factory(
             sock,
             gss_kex=gss_kex,
             gss_deleg_creds=gss_deleg_creds,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/paramiko-2.11.0/paramiko/pkey.py 
new/paramiko-2.12.0/paramiko/pkey.py
--- old/paramiko-2.11.0/paramiko/pkey.py        2022-05-17 03:04:13.000000000 
+0200
+++ new/paramiko-2.12.0/paramiko/pkey.py        2022-11-04 23:23:48.000000000 
+0100
@@ -324,6 +324,8 @@
 
     def _read_private_key(self, tag, f, password=None):
         lines = f.readlines()
+        if not lines:
+            raise SSHException("no lines in {} private key file".format(tag))
 
         # find the BEGIN tag
         start = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/paramiko-2.11.0/paramiko.egg-info/PKG-INFO 
new/paramiko-2.12.0/paramiko.egg-info/PKG-INFO
--- old/paramiko-2.11.0/paramiko.egg-info/PKG-INFO      2022-05-17 
03:06:27.000000000 +0200
+++ new/paramiko-2.12.0/paramiko.egg-info/PKG-INFO      2022-11-04 
23:32:46.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: paramiko
-Version: 2.11.0
+Version: 2.12.0
 Summary: SSH2 protocol library
 Home-page: https://paramiko.org
 Author: Jeff Forcier
@@ -77,7 +77,7 @@
 Classifier: Programming Language :: Python :: 3.7
 Classifier: Programming Language :: Python :: 3.8
 Classifier: Programming Language :: Python :: 3.9
-Provides-Extra: gssapi
 Provides-Extra: all
-Provides-Extra: invoke
+Provides-Extra: gssapi
 Provides-Extra: ed25519
+Provides-Extra: invoke
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/paramiko-2.11.0/paramiko.egg-info/SOURCES.txt 
new/paramiko-2.12.0/paramiko.egg-info/SOURCES.txt
--- old/paramiko-2.11.0/paramiko.egg-info/SOURCES.txt   2022-05-17 
03:06:27.000000000 +0200
+++ new/paramiko-2.12.0/paramiko.egg-info/SOURCES.txt   2022-11-04 
23:32:46.000000000 +0100
@@ -155,6 +155,7 @@
 tests/__init__.py
 tests/badhash_key1.ed25519.key
 tests/badhash_key2.ed25519.key
+tests/blank_rsa.key
 tests/conftest.py
 tests/loop.py
 tests/stub_sftp.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/paramiko-2.11.0/setup.py new/paramiko-2.12.0/setup.py
--- old/paramiko-2.11.0/setup.py        2022-04-25 16:46:46.000000000 +0200
+++ new/paramiko-2.12.0/setup.py        2022-11-04 23:29:50.000000000 +0100
@@ -89,7 +89,8 @@
     # use of the extras_require ("paramiko[ed2559]") is now required for those
     # TODO 3.0: alternately, given how prevalent ed25519 is now, and how we use
     # invoke for (increasing) subproc stuff, consider making the default flavor
-    # "full" and adding a "minimal" or similar that is just-crypto?
+    # "full"/"all"? (probably sans gssapi which should remain optional; MAYBE
+    # still sans invoke as well, not everyone uses ProxyCommand or Match exec)
     # TODO 3.0: remove six, obviously
     install_requires=[
         "bcrypt>=3.1.3",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/paramiko-2.11.0/tests/__init__.py 
new/paramiko-2.12.0/tests/__init__.py
--- old/paramiko-2.11.0/tests/__init__.py       2022-04-25 16:46:46.000000000 
+0200
+++ new/paramiko-2.12.0/tests/__init__.py       2022-06-03 21:23:14.000000000 
+0200
@@ -36,7 +36,7 @@
 def _decorate_with_locale(category, try_locales, test_method):
     """Decorate test_method to run after switching to a different locale."""
 
-    def _test_under_locale(testself, sftp):
+    def _test_under_locale(testself, *args, **kwargs):
         original = locale.setlocale(category)
         while try_locales:
             try:
@@ -46,12 +46,11 @@
                 try_locales.pop(0)
             else:
                 try:
-                    return test_method(testself)
+                    return test_method(testself, *args, **kwargs)
                 finally:
                     locale.setlocale(category, original)
-        skipTest = getattr(testself, "skipTest", None)
-        if skipTest is not None:
-            skipTest("No usable locales installed")
+        # No locales could be used? Just skip the decorated test :(
+        skip("No usable locales installed")
 
     functools.update_wrapper(_test_under_locale, test_method)
     return _test_under_locale
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/paramiko-2.11.0/tests/test_client.py 
new/paramiko-2.12.0/tests/test_client.py
--- old/paramiko-2.11.0/tests/test_client.py    2022-05-17 03:04:13.000000000 
+0200
+++ new/paramiko-2.12.0/tests/test_client.py    2022-11-04 23:29:50.000000000 
+0100
@@ -33,6 +33,7 @@
 import weakref
 from tempfile import mkstemp
 
+import pytest
 from pytest_relaxed import raises
 from mock import patch, Mock
 
@@ -370,9 +371,11 @@
             == "{}-cert-...@openssh.com".format(alg)
         )
 
+    @requires_sha1_signing
     def test_old_openssh_needs_ssh_rsa_for_certs_not_rsa_sha2(self):
         self._cert_algo_test(ver="7.7", alg="ssh-rsa")
 
+    @requires_sha1_signing
     def test_newer_openssh_uses_rsa_sha2_for_certs_not_ssh_rsa(self):
         # NOTE: 512 happens to be first in our list and is thus chosen
         self._cert_algo_test(ver="7.8", alg="rsa-sha2-512")
@@ -471,6 +474,23 @@
 
         assert p() is None
 
+    @patch("paramiko.client.socket.socket")
+    @patch("paramiko.client.socket.getaddrinfo")
+    def test_closes_socket_on_socket_errors(self, getaddrinfo, mocket):
+        getaddrinfo.return_value = (
+            ("irrelevant", None, None, None, "whatever"),
+        )
+
+        class SocksToBeYou(socket.error):
+            pass
+
+        my_socket = mocket.return_value
+        my_socket.connect.side_effect = SocksToBeYou
+        client = SSHClient()
+        with pytest.raises(SocksToBeYou):
+            client.connect(hostname="nope")
+        my_socket.close.assert_called_once_with()
+
     def test_client_can_be_used_as_context_manager(self):
         """
         verify that an SSHClient can be used a context manager
@@ -719,6 +739,40 @@
         call_arg = Transport.call_args[1]["disabled_algorithms"]
         assert call_arg == {"keys": ["ssh-dss"]}
 
+    @patch("paramiko.client.Transport")
+    def test_transport_factory_defaults_to_Transport(self, Transport):
+        sock, kex, creds, algos = Mock(), Mock(), Mock(), Mock()
+        SSHClient().connect(
+            "host",
+            sock=sock,
+            password="no",
+            gss_kex=kex,
+            gss_deleg_creds=creds,
+            disabled_algorithms=algos,
+        )
+        Transport.assert_called_once_with(
+            sock, gss_kex=kex, gss_deleg_creds=creds, disabled_algorithms=algos
+        )
+
+    @patch("paramiko.client.Transport")
+    def test_transport_factory_may_be_specified(self, Transport):
+        factory = Mock()
+        sock, kex, creds, algos = Mock(), Mock(), Mock(), Mock()
+        SSHClient().connect(
+            "host",
+            sock=sock,
+            password="no",
+            gss_kex=kex,
+            gss_deleg_creds=creds,
+            disabled_algorithms=algos,
+            transport_factory=factory,
+        )
+        factory.assert_called_once_with(
+            sock, gss_kex=kex, gss_deleg_creds=creds, disabled_algorithms=algos
+        )
+        # Safety check
+        assert not Transport.called
+
 
 class PasswordPassphraseTests(ClientTest):
     # TODO: most of these could reasonably be set up to use mocks/assertions
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/paramiko-2.11.0/tests/test_config.py 
new/paramiko-2.12.0/tests/test_config.py
--- old/paramiko-2.11.0/tests/test_config.py    2022-05-17 03:04:13.000000000 
+0200
+++ new/paramiko-2.12.0/tests/test_config.py    2022-11-04 23:23:48.000000000 
+0100
@@ -6,7 +6,11 @@
 
 from paramiko.py3compat import string_types
 
-from invoke import Result
+try:
+    from invoke import Result
+except ImportError:
+    Result = None
+
 from mock import patch
 from pytest import raises, mark, fixture
 
@@ -742,6 +746,7 @@
     return inner
 
 
+@mark.skipif(Result is None, reason="requires invoke package")
 class TestMatchExec(object):
     @patch("paramiko.config.invoke", new=None)
     @patch("paramiko.config.invoke_import_error", new=ImportError("meh"))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/paramiko-2.11.0/tests/test_pkey.py 
new/paramiko-2.12.0/tests/test_pkey.py
--- old/paramiko-2.11.0/tests/test_pkey.py      2022-05-17 03:04:13.000000000 
+0200
+++ new/paramiko-2.12.0/tests/test_pkey.py      2022-11-04 23:23:48.000000000 
+0100
@@ -186,6 +186,11 @@
                 with pytest.raises(SSHException, match=str(exception)):
                     RSAKey.from_private_key_file(_support("test_rsa.key"))
 
+    def test_loading_empty_keys_errors_usefully(self):
+        # #1599 - raise SSHException instead of IndexError
+        with pytest.raises(SSHException, match="no lines"):
+            RSAKey.from_private_key_file(_support("blank_rsa.key"))
+
     def test_load_rsa_password(self):
         key = RSAKey.from_private_key_file(
             _support("test_rsa_password.key"), "television"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/paramiko-2.11.0/tests/test_sftp.py 
new/paramiko-2.12.0/tests/test_sftp.py
--- old/paramiko-2.11.0/tests/test_sftp.py      2022-05-17 03:04:13.000000000 
+0200
+++ new/paramiko-2.12.0/tests/test_sftp.py      2022-11-04 23:23:48.000000000 
+0100
@@ -277,7 +277,7 @@
         sftp.open(sftp.FOLDER + "/canard.txt", "w").close()
         try:
             folder_contents = sftp.listdir(sftp.FOLDER)
-            self.assertEqual(["canard.txt"], folder_contents)
+            assert ["canard.txt"] == folder_contents
         finally:
             sftp.remove(sftp.FOLDER + "/canard.txt")
 
@@ -797,7 +797,7 @@
         """Test SFTPAttributes under a locale with non-ascii time strings."""
         some_stat = os.stat(sftp.FOLDER)
         sftp_attributes = SFTPAttributes.from_stat(some_stat, u("a_directory"))
-        self.assertTrue(b"a_directory" in sftp_attributes.asbytes())
+        assert b"a_directory" in sftp_attributes.asbytes()
 
     def test_sftp_attributes_empty_str(self, sftp):
         sftp_attributes = SFTPAttributes()

++++++ paramiko-pr1655-remove-pytest-relaxed.patch -> 
paramiko-pr1665-remove-pytest-relaxed.patch ++++++
--- 
/work/SRC/openSUSE:Factory/python-paramiko/paramiko-pr1655-remove-pytest-relaxed.patch
      2022-05-30 12:43:19.812341006 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-paramiko.new.1597/paramiko-pr1665-remove-pytest-relaxed.patch
    2022-11-22 16:09:16.933755481 +0100
@@ -15,20 +15,19 @@
  tests/test_client.py | 20 ++++++++++----------
  3 files changed, 10 insertions(+), 14 deletions(-)
 
-Index: paramiko-2.11.0/tests/test_client.py
+Index: paramiko-2.12.0/tests/test_client.py
 ===================================================================
---- paramiko-2.11.0.orig/tests/test_client.py  2022-05-17 03:04:13.000000000 
+0200
-+++ paramiko-2.11.0/tests/test_client.py       2022-05-26 22:57:20.216831045 
+0200
-@@ -33,7 +33,7 @@
- import weakref
+--- paramiko-2.12.0.orig/tests/test_client.py
++++ paramiko-2.12.0/tests/test_client.py
+@@ -34,7 +34,6 @@ import weakref
  from tempfile import mkstemp
  
+ import pytest
 -from pytest_relaxed import raises
-+import pytest
  from mock import patch, Mock
  
  import paramiko
-@@ -733,11 +733,11 @@
+@@ -787,11 +786,11 @@ class PasswordPassphraseTests(ClientTest
  
      # TODO: more granular exception pending #387; should be signaling "no auth
      # methods available" because no key and no password
@@ -43,7 +42,7 @@
  
      @requires_sha1_signing
      def test_passphrase_kwarg_used_for_key_passphrase(self):
-@@ -757,15 +757,15 @@
+@@ -811,15 +810,15 @@ class PasswordPassphraseTests(ClientTest
              password="television",
          )
  

Reply via email to