aboutsummaryrefslogtreecommitdiff
path: root/docs/paramiko.util-module.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/paramiko.util-module.html')
-rw-r--r--docs/paramiko.util-module.html950
1 files changed, 950 insertions, 0 deletions
diff --git a/docs/paramiko.util-module.html b/docs/paramiko.util-module.html
new file mode 100644
index 0000000..297ca6d
--- /dev/null
+++ b/docs/paramiko.util-module.html
@@ -0,0 +1,950 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>paramiko.util</title>
+ <link rel="stylesheet" href="epydoc.css" type="text/css" />
+ <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+ alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th>&nbsp;&nbsp;&nbsp;<a
+ href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+ <!-- Tree link -->
+ <th>&nbsp;&nbsp;&nbsp;<a
+ href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+ <!-- Index link -->
+ <th>&nbsp;&nbsp;&nbsp;<a
+ href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+ <!-- Help link -->
+ <th>&nbsp;&nbsp;&nbsp;<a
+ href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+ <tr valign="top">
+ <td width="100%">
+ <span class="breadcrumbs">
+ <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
+ Module&nbsp;util
+ </span>
+ </td>
+ <td>
+ <table cellpadding="0" cellspacing="0">
+ <!-- hide/show private -->
+ <tr><td align="right"><span class="options"
+ >[<a href="frames.html" target="_top">frames</a
+ >]&nbsp;|&nbsp;<a href="paramiko.util-module.html"
+ target="_top">no&nbsp;frames</a>]</span></td></tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module util</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko.util-pysrc.html">source&nbsp;code</a></span></p>
+<p>Useful functions used by the rest of paramiko.</p>
+
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td align="left" colspan="2" class="table-header">
+ <span class="table-header">Classes</span></td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a href="paramiko.util.enumerate-class.html" class="summary-name">enumerate</a>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a href="paramiko.util.PFilter-class.html" class="summary-name">PFilter</a>
+ </td>
+ </tr>
+</table>
+<!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td align="left" colspan="2" class="table-header">
+ <span class="table-header">Functions</span></td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="inflate_long"></a><span class="summary-sig-name">inflate_long</span>(<span class="summary-sig-arg">s</span>,
+ <span class="summary-sig-arg">always_positive</span>=<span class="summary-sig-default">False</span>)</span><br />
+ turns a normalized byte string into a long-int (adapted from
+ Crypto.Util.number)</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="paramiko.util-pysrc.html#inflate_long">source&nbsp;code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="deflate_long"></a><span class="summary-sig-name">deflate_long</span>(<span class="summary-sig-arg">n</span>,
+ <span class="summary-sig-arg">add_sign_padding</span>=<span class="summary-sig-default">True</span>)</span><br />
+ turns a long-int into a normalized byte string (adapted from
+ Crypto.Util.number)</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="paramiko.util-pysrc.html#deflate_long">source&nbsp;code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="format_binary_weird"></a><span class="summary-sig-name">format_binary_weird</span>(<span class="summary-sig-arg">data</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="paramiko.util-pysrc.html#format_binary_weird">source&nbsp;code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="format_binary"></a><span class="summary-sig-name">format_binary</span>(<span class="summary-sig-arg">data</span>,
+ <span class="summary-sig-arg">prefix</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="paramiko.util-pysrc.html#format_binary">source&nbsp;code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="format_binary_line"></a><span class="summary-sig-name">format_binary_line</span>(<span class="summary-sig-arg">data</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="paramiko.util-pysrc.html#format_binary_line">source&nbsp;code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="hexify"></a><span class="summary-sig-name">hexify</span>(<span class="summary-sig-arg">s</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="paramiko.util-pysrc.html#hexify">source&nbsp;code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="unhexify"></a><span class="summary-sig-name">unhexify</span>(<span class="summary-sig-arg">s</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="paramiko.util-pysrc.html#unhexify">source&nbsp;code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="safe_string"></a><span class="summary-sig-name">safe_string</span>(<span class="summary-sig-arg">s</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="paramiko.util-pysrc.html#safe_string">source&nbsp;code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="bit_length"></a><span class="summary-sig-name">bit_length</span>(<span class="summary-sig-arg">n</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="paramiko.util-pysrc.html#bit_length">source&nbsp;code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="tb_strings"></a><span class="summary-sig-name">tb_strings</span>()</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="paramiko.util-pysrc.html#tb_strings">source&nbsp;code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">string</span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="paramiko.util-module.html#generate_key_bytes" class="summary-sig-name">generate_key_bytes</a>(<span class="summary-sig-arg">hashclass</span>,
+ <span class="summary-sig-arg">salt</span>,
+ <span class="summary-sig-arg">key</span>,
+ <span class="summary-sig-arg">nbytes</span>)</span><br />
+ Given a password, passphrase, or other human-source key, scramble it
+ through a secure hash into some keyworthy bytes.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="paramiko.util-pysrc.html#generate_key_bytes">source&nbsp;code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">dict(hostname, dict(keytype, <a href="paramiko.PKey-class.html"
+ class="link">PKey</a>))</span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a href="paramiko.util-module.html#load_host_keys" class="summary-sig-name">load_host_keys</a>(<span class="summary-sig-arg">filename</span>)</span><br />
+ Read a file of known SSH host keys, in the format used by openssh,
+ and return a compound dict of <code>hostname -&gt; keytype
+ -&gt;</code> <a href="paramiko.PKey-class.html"
+ class="link">PKey</a>.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="paramiko.util-pysrc.html#load_host_keys">source&nbsp;code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="parse_ssh_config"></a><span class="summary-sig-name">parse_ssh_config</span>(<span class="summary-sig-arg">file_obj</span>)</span><br />
+ Provided only as a backward-compatible wrapper around <a
+ href="paramiko.SSHConfig-class.html" class="link">SSHConfig</a>.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="paramiko.util-pysrc.html#parse_ssh_config">source&nbsp;code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="lookup_ssh_host_config"></a><span class="summary-sig-name">lookup_ssh_host_config</span>(<span class="summary-sig-arg">hostname</span>,
+ <span class="summary-sig-arg">config</span>)</span><br />
+ Provided only as a backward-compatible wrapper around <a
+ href="paramiko.SSHConfig-class.html" class="link">SSHConfig</a>.</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="paramiko.util-pysrc.html#lookup_ssh_host_config">source&nbsp;code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="mod_inverse"></a><span class="summary-sig-name">mod_inverse</span>(<span class="summary-sig-arg">x</span>,
+ <span class="summary-sig-arg">m</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="paramiko.util-pysrc.html#mod_inverse">source&nbsp;code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="get_thread_id"></a><span class="summary-sig-name">get_thread_id</span>()</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="paramiko.util-pysrc.html#get_thread_id">source&nbsp;code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="log_to_file"></a><span class="summary-sig-name">log_to_file</span>(<span class="summary-sig-arg">filename</span>,
+ <span class="summary-sig-arg">level</span>=<span class="summary-sig-default">10</span>)</span><br />
+ send paramiko logs to a logfile, if they're not already going
+ somewhere</td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="paramiko.util-pysrc.html#log_to_file">source&nbsp;code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td><span class="summary-sig"><a name="get_logger"></a><span class="summary-sig-name">get_logger</span>(<span class="summary-sig-arg">name</span>)</span></td>
+ <td align="right" valign="top">
+ <span class="codelink"><a href="paramiko.util-pysrc.html#get_logger">source&nbsp;code</a></span>
+
+ </td>
+ </tr>
+ </table>
+
+ </td>
+ </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td align="left" colspan="2" class="table-header">
+ <span class="table-header">Variables</span></td>
+</tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="AUTH_FAILED"></a><span class="summary-name">AUTH_FAILED</span> = <code title="2">2</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="AUTH_PARTIALLY_SUCCESSFUL"></a><span class="summary-name">AUTH_PARTIALLY_SUCCESSFUL</span> = <code title="1">1</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="AUTH_SUCCESSFUL"></a><span class="summary-name">AUTH_SUCCESSFUL</span> = <code title="0">0</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a href="paramiko.util-module.html#CONNECTION_FAILED_CODE" class="summary-name">CONNECTION_FAILED_CODE</a> = <code title="{1: 'Administratively prohibited',
+ 2: 'Connect failed',
+ 3: 'Unknown channel type',
+ 4: 'Resource shortage'}"><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">:</code><code class="variable-ellipsis">...</code></code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="CRITICAL"></a><span class="summary-name">CRITICAL</span> = <code title="50">50</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="DEBUG"></a><span class="summary-name">DEBUG</span> = <code title="10">10</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="DISCONNECT_AUTH_CANCELLED_BY_USER"></a><span class="summary-name">DISCONNECT_AUTH_CANCELLED_BY_USER</span> = <code title="13">13</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE"></a><span class="summary-name">DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE</span> = <code title="14">14</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="DISCONNECT_SERVICE_NOT_AVAILABLE"></a><span class="summary-name">DISCONNECT_SERVICE_NOT_AVAILABLE</span> = <code title="7">7</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="ERROR"></a><span class="summary-name">ERROR</span> = <code title="40">40</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="INFO"></a><span class="summary-name">INFO</span> = <code title="20">20</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="MSG_CHANNEL_CLOSE"></a><span class="summary-name">MSG_CHANNEL_CLOSE</span> = <code title="97">97</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="MSG_CHANNEL_DATA"></a><span class="summary-name">MSG_CHANNEL_DATA</span> = <code title="94">94</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="MSG_CHANNEL_EOF"></a><span class="summary-name">MSG_CHANNEL_EOF</span> = <code title="96">96</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="MSG_CHANNEL_EXTENDED_DATA"></a><span class="summary-name">MSG_CHANNEL_EXTENDED_DATA</span> = <code title="95">95</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="MSG_CHANNEL_FAILURE"></a><span class="summary-name">MSG_CHANNEL_FAILURE</span> = <code title="100">100</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="MSG_CHANNEL_OPEN"></a><span class="summary-name">MSG_CHANNEL_OPEN</span> = <code title="90">90</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="MSG_CHANNEL_OPEN_FAILURE"></a><span class="summary-name">MSG_CHANNEL_OPEN_FAILURE</span> = <code title="92">92</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="MSG_CHANNEL_OPEN_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_OPEN_SUCCESS</span> = <code title="91">91</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="MSG_CHANNEL_REQUEST"></a><span class="summary-name">MSG_CHANNEL_REQUEST</span> = <code title="98">98</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="MSG_CHANNEL_SUCCESS"></a><span class="summary-name">MSG_CHANNEL_SUCCESS</span> = <code title="99">99</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="MSG_CHANNEL_WINDOW_ADJUST"></a><span class="summary-name">MSG_CHANNEL_WINDOW_ADJUST</span> = <code title="93">93</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="MSG_DEBUG"></a><span class="summary-name">MSG_DEBUG</span> = <code title="4">4</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="MSG_DISCONNECT"></a><span class="summary-name">MSG_DISCONNECT</span> = <code title="1">1</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="MSG_GLOBAL_REQUEST"></a><span class="summary-name">MSG_GLOBAL_REQUEST</span> = <code title="80">80</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="MSG_IGNORE"></a><span class="summary-name">MSG_IGNORE</span> = <code title="2">2</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="MSG_KEXINIT"></a><span class="summary-name">MSG_KEXINIT</span> = <code title="20">20</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a href="paramiko.util-module.html#MSG_NAMES" class="summary-name">MSG_NAMES</a> = <code title="{1: 'disconnect',
+ 2: 'ignore',
+ 3: 'unimplemented',
+ 4: 'debug',
+ 5: 'service-request',
+ 6: 'service-accept',
+ 20: 'kexinit',
+ 21: 'newkeys',
+..."><code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">, </code>2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">, </code>3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code><code class="variable-ellipsis">...</code></code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="MSG_NEWKEYS"></a><span class="summary-name">MSG_NEWKEYS</span> = <code title="21">21</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="MSG_REQUEST_FAILURE"></a><span class="summary-name">MSG_REQUEST_FAILURE</span> = <code title="82">82</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="MSG_REQUEST_SUCCESS"></a><span class="summary-name">MSG_REQUEST_SUCCESS</span> = <code title="81">81</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="MSG_SERVICE_ACCEPT"></a><span class="summary-name">MSG_SERVICE_ACCEPT</span> = <code title="6">6</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="MSG_SERVICE_REQUEST"></a><span class="summary-name">MSG_SERVICE_REQUEST</span> = <code title="5">5</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="MSG_UNIMPLEMENTED"></a><span class="summary-name">MSG_UNIMPLEMENTED</span> = <code title="3">3</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="MSG_USERAUTH_BANNER"></a><span class="summary-name">MSG_USERAUTH_BANNER</span> = <code title="53">53</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="MSG_USERAUTH_FAILURE"></a><span class="summary-name">MSG_USERAUTH_FAILURE</span> = <code title="51">51</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="MSG_USERAUTH_INFO_REQUEST"></a><span class="summary-name">MSG_USERAUTH_INFO_REQUEST</span> = <code title="60">60</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="MSG_USERAUTH_INFO_RESPONSE"></a><span class="summary-name">MSG_USERAUTH_INFO_RESPONSE</span> = <code title="61">61</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="MSG_USERAUTH_PK_OK"></a><span class="summary-name">MSG_USERAUTH_PK_OK</span> = <code title="60">60</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="MSG_USERAUTH_REQUEST"></a><span class="summary-name">MSG_USERAUTH_REQUEST</span> = <code title="50">50</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="MSG_USERAUTH_SUCCESS"></a><span class="summary-name">MSG_USERAUTH_SUCCESS</span> = <code title="52">52</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED"></a><span class="summary-name">OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED</span> = <code title="1">1</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="OPEN_FAILED_CONNECT_FAILED"></a><span class="summary-name">OPEN_FAILED_CONNECT_FAILED</span> = <code title="2">2</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="OPEN_FAILED_RESOURCE_SHORTAGE"></a><span class="summary-name">OPEN_FAILED_RESOURCE_SHORTAGE</span> = <code title="4">4</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="OPEN_FAILED_UNKNOWN_CHANNEL_TYPE"></a><span class="summary-name">OPEN_FAILED_UNKNOWN_CHANNEL_TYPE</span> = <code title="3">3</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="OPEN_SUCCEEDED"></a><span class="summary-name">OPEN_SUCCEEDED</span> = <code title="0">0</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="PY22"></a><span class="summary-name">PY22</span> = <code title="False">False</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="WARNING"></a><span class="summary-name">WARNING</span> = <code title="30">30</code>
+ </td>
+ </tr>
+<tr>
+ <td width="15%" align="right" valign="top" class="summary">
+ <span class="summary-type">&nbsp;</span>
+ </td><td class="summary">
+ <a name="randpool"></a><span class="summary-name">randpool</span> = <code title="StrongLockingRandomPool()">StrongLockingRandomPool()</code>
+ </td>
+ </tr>
+</table>
+<!-- ==================== FUNCTION DETAILS ==================== -->
+<a name="section-FunctionDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td align="left" colspan="2" class="table-header">
+ <span class="table-header">Function Details</span></td>
+</tr>
+</table>
+<a name="generate_key_bytes"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">generate_key_bytes</span>(<span class="sig-arg">hashclass</span>,
+ <span class="sig-arg">salt</span>,
+ <span class="sig-arg">key</span>,
+ <span class="sig-arg">nbytes</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="paramiko.util-pysrc.html#generate_key_bytes">source&nbsp;code</a></span>&nbsp;
+ </td>
+ </tr></table>
+
+ <p>Given a password, passphrase, or other human-source key, scramble it
+ through a secure hash into some keyworthy bytes. This specific algorithm
+ is used for encrypting/decrypting private key files.</p>
+ <dl class="fields">
+ <dt>Parameters:</dt>
+ <dd><ul class="nomargin-top">
+ <li><strong class="pname"><code>hashclass</code></strong> (<code class="link">Crypto.Hash</code>) - class from <code class="link">Crypto.Hash</code> that can be used
+ as a secure hashing function (like <code>MD5</code> or
+ <code>SHA</code>).</li>
+ <li><strong class="pname"><code>salt</code></strong> (string) - data to salt the hash with.</li>
+ <li><strong class="pname"><code>key</code></strong> (string) - human-entered password or passphrase.</li>
+ <li><strong class="pname"><code>nbytes</code></strong> (int) - number of bytes to generate.</li>
+ </ul></dd>
+ <dt>Returns: string</dt>
+ <dd>key data</dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="load_host_keys"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr valign="top"><td>
+ <h3 class="epydoc"><span class="sig"><span class="sig-name">load_host_keys</span>(<span class="sig-arg">filename</span>)</span>
+ </h3>
+ </td><td align="right" valign="top"
+ ><span class="codelink"><a href="paramiko.util-pysrc.html#load_host_keys">source&nbsp;code</a></span>&nbsp;
+ </td>
+ </tr></table>
+
+ <p>Read a file of known SSH host keys, in the format used by openssh, and
+ return a compound dict of <code>hostname -&gt; keytype -&gt;</code> <a
+ href="paramiko.PKey-class.html" class="link">PKey</a>. The hostname may
+ be an IP address or DNS name. The keytype will be either
+ <code>&quot;ssh-rsa&quot;</code> or <code>&quot;ssh-dss&quot;</code>.</p>
+ <p>This type of file unfortunately doesn't exist on Windows, but on
+ posix, it will usually be stored in
+ <code>os.path.expanduser(&quot;~/.ssh/known_hosts&quot;)</code>.</p>
+ <p>Since 1.5.3, this is just a wrapper around <a
+ href="paramiko.HostKeys-class.html" class="link">HostKeys</a>.</p>
+ <dl class="fields">
+ <dt>Parameters:</dt>
+ <dd><ul class="nomargin-top">
+ <li><strong class="pname"><code>filename</code></strong> (str) - name of the file to read host keys from</li>
+ </ul></dd>
+ <dt>Returns: dict(hostname, dict(keytype, <a href="paramiko.PKey-class.html"
+ class="link">PKey</a>))</dt>
+ <dd>dict of host keys, indexed by hostname and then keytype</dd>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== VARIABLES DETAILS ==================== -->
+<a name="section-VariablesDetails"></a>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+ <td align="left" colspan="2" class="table-header">
+ <span class="table-header">Variables Details</span></td>
+</tr>
+</table>
+<a name="CONNECTION_FAILED_CODE"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <h3 class="epydoc">CONNECTION_FAILED_CODE</h3>
+
+ <dl class="fields">
+ </dl>
+ <dl class="fields">
+ <dt>Value:</dt>
+ <dd><table><tr><td><pre class="variable">
+<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Administratively prohibited</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Connect failed</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Unknown channel type</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">Resource shortage</code><code class="variable-quote">'</code><code class="variable-group">}</code>
+</pre></td></tr></table>
+</dd>
+ </dl>
+</td></tr></table>
+</div>
+<a name="MSG_NAMES"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+ cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+ <h3 class="epydoc">MSG_NAMES</h3>
+
+ <dl class="fields">
+ </dl>
+ <dl class="fields">
+ <dt>Value:</dt>
+ <dd><table><tr><td><pre class="variable">
+<code class="variable-group">{</code>1<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">disconnect</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ 2<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">ignore</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ 3<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">unimplemented</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ 4<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">debug</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ 5<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-request</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ 6<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">service-accept</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ 20<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">kexinit</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ 21<code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">newkeys</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+<code class="variable-ellipsis">...</code>
+</pre></td></tr></table>
+</dd>
+ </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+ bgcolor="#a0c0ff" cellspacing="0">
+ <tr valign="middle">
+ <!-- Home link -->
+ <th>&nbsp;&nbsp;&nbsp;<a
+ href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+ <!-- Tree link -->
+ <th>&nbsp;&nbsp;&nbsp;<a
+ href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+ <!-- Index link -->
+ <th>&nbsp;&nbsp;&nbsp;<a
+ href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+ <!-- Help link -->
+ <th>&nbsp;&nbsp;&nbsp;<a
+ href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+ <th class="navbar" width="100%"></th>
+ </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+ <tr>
+ <td align="left" class="footer">
+ Generated by Epydoc 3.0.1 on Sun Jul 6 18:30:28 2008
+ </td>
+ <td align="right" class="footer">
+ <a target="mainFrame" href="http://epydoc.sourceforge.net"
+ >http://epydoc.sourceforge.net</a>
+ </td>
+ </tr>
+</table>
+
+<script type="text/javascript">
+ <!--
+ // Private objects are initially displayed (because if
+ // javascript is turned off then we want them to be
+ // visible); but by default, we want to hide them. So hide
+ // them unless we have a cookie that says to show them.
+ checkCookie();
+ // -->
+</script>
+</body>
+</html>