evennia/docs/1.0-dev/api/evennia.server.portal.ssh.html
2020-11-14 11:55:52 +01:00

421 lines
No EOL
30 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>evennia.server.portal.ssh &#8212; Evennia 1.0-dev documentation</title>
<link rel="stylesheet" href="../_static/nature.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/language_data.js"></script>
<link rel="shortcut icon" href="../_static/favicon.ico"/>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
</head><body>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 1.0-dev</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.server.portal.ssh</a></li>
</ul>
<div class="develop">develop branch</div>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="module-evennia.server.portal.ssh">
<span id="evennia-server-portal-ssh"></span><h1>evennia.server.portal.ssh<a class="headerlink" href="#module-evennia.server.portal.ssh" title="Permalink to this headline"></a></h1>
<p>This module implements the ssh (Secure SHell) protocol for encrypted
connections.</p>
<p>This depends on a generic session module that implements the actual
login procedure of the game, tracks sessions etc.</p>
<p>Using standard ssh client,</p>
<dl class="py class">
<dt id="evennia.server.portal.ssh.SSHServerFactory">
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.ssh.</code><code class="sig-name descname">SSHServerFactory</code><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SSHServerFactory"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SSHServerFactory" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">twisted.internet.protocol.ServerFactory</span></code></p>
<p>This is only to name this better in logs</p>
<dl class="py attribute">
<dt id="evennia.server.portal.ssh.SSHServerFactory.noisy">
<code class="sig-name descname">noisy</code><em class="property"> = False</em><a class="headerlink" href="#evennia.server.portal.ssh.SSHServerFactory.noisy" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt id="evennia.server.portal.ssh.SSHServerFactory.logPrefix">
<code class="sig-name descname">logPrefix</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SSHServerFactory.logPrefix"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SSHServerFactory.logPrefix" title="Permalink to this definition"></a></dt>
<dd><p>Describe this factory for log messages.</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt id="evennia.server.portal.ssh.SshProtocol">
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.ssh.</code><code class="sig-name descname">SshProtocol</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">starttuple</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SshProtocol"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">twisted.conch.manhole.Manhole</span></code>, <a class="reference internal" href="evennia.server.session.html#evennia.server.session.Session" title="evennia.server.session.Session"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.server.session.Session</span></code></a></p>
<p>Each account connecting over ssh gets this protocol assigned to
them. All communication between game and account goes through
here.</p>
<dl class="py attribute">
<dt id="evennia.server.portal.ssh.SshProtocol.noisy">
<code class="sig-name descname">noisy</code><em class="property"> = False</em><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol.noisy" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt id="evennia.server.portal.ssh.SshProtocol.__init__">
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">starttuple</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SshProtocol.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol.__init__" title="Permalink to this definition"></a></dt>
<dd><p>For setting up the account. If account is not None then well
login automatically.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>starttuple</strong> (<em>tuple</em>) A (account, factory) tuple.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.server.portal.ssh.SshProtocol.terminalSize">
<code class="sig-name descname">terminalSize</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">width</span></em>, <em class="sig-param"><span class="n">height</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SshProtocol.terminalSize"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol.terminalSize" title="Permalink to this definition"></a></dt>
<dd><p>Initialize the terminal and connect to the new session.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>width</strong> (<em>int</em>) Width of terminal.</p></li>
<li><p><strong>height</strong> (<em>int</em>) Height of terminal.</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.server.portal.ssh.SshProtocol.connectionMade">
<code class="sig-name descname">connectionMade</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SshProtocol.connectionMade"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol.connectionMade" title="Permalink to this definition"></a></dt>
<dd><p>This is called when the connection is first established.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.server.portal.ssh.SshProtocol.handle_INT">
<code class="sig-name descname">handle_INT</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SshProtocol.handle_INT"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol.handle_INT" title="Permalink to this definition"></a></dt>
<dd><p>Handle ^C as an interrupt keystroke by resetting the current
input variables to their initial state.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.server.portal.ssh.SshProtocol.handle_EOF">
<code class="sig-name descname">handle_EOF</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SshProtocol.handle_EOF"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol.handle_EOF" title="Permalink to this definition"></a></dt>
<dd><p>Handles EOF generally used to exit.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.server.portal.ssh.SshProtocol.handle_FF">
<code class="sig-name descname">handle_FF</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SshProtocol.handle_FF"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol.handle_FF" title="Permalink to this definition"></a></dt>
<dd><p>Handle a form feed byte - generally used to request a screen
refresh/redraw.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.server.portal.ssh.SshProtocol.handle_QUIT">
<code class="sig-name descname">handle_QUIT</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SshProtocol.handle_QUIT"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol.handle_QUIT" title="Permalink to this definition"></a></dt>
<dd><p>Quit, end, and lose the connection.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.server.portal.ssh.SshProtocol.connectionLost">
<code class="sig-name descname">connectionLost</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">reason</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SshProtocol.connectionLost"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol.connectionLost" title="Permalink to this definition"></a></dt>
<dd><p>This is executed when the connection is lost for whatever
reason. It can also be called directly, from the disconnect
method.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>reason</strong> (<em>str</em>) Motivation for loosing connection.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.server.portal.ssh.SshProtocol.getClientAddress">
<code class="sig-name descname">getClientAddress</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SshProtocol.getClientAddress"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol.getClientAddress" title="Permalink to this definition"></a></dt>
<dd><p>Get client address.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p><p><em>address_and_port (tuple)</em> </p>
<dl class="simple">
<dt>The clients address and port in</dt><dd><p>a tuple. For example <strong>(127.0.0.1, 41917)</strong>.</p>
</dd>
</dl>
</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.server.portal.ssh.SshProtocol.lineReceived">
<code class="sig-name descname">lineReceived</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">string</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SshProtocol.lineReceived"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol.lineReceived" title="Permalink to this definition"></a></dt>
<dd><p>Communication User -&gt; Evennia. Any line return indicates a
command for the purpose of the MUD. So we take the user input
and pass it on to the game engine.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>string</strong> (<em>str</em>) Input text.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.server.portal.ssh.SshProtocol.sendLine">
<code class="sig-name descname">sendLine</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">string</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SshProtocol.sendLine"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol.sendLine" title="Permalink to this definition"></a></dt>
<dd><p>Communication Evennia -&gt; User. Any string sent should
already have been properly formatted and processed before
reaching this point.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>string</strong> (<em>str</em>) Output text.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.server.portal.ssh.SshProtocol.at_login">
<code class="sig-name descname">at_login</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SshProtocol.at_login"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol.at_login" title="Permalink to this definition"></a></dt>
<dd><p>Called when this session gets authenticated by the server.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.server.portal.ssh.SshProtocol.disconnect">
<code class="sig-name descname">disconnect</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">reason</span><span class="o">=</span><span class="default_value">'Connection closed. Goodbye for now.'</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SshProtocol.disconnect"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol.disconnect" title="Permalink to this definition"></a></dt>
<dd><p>Disconnect from server.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>reason</strong> (<em>str</em>) Motivation for disconnect.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.server.portal.ssh.SshProtocol.data_out">
<code class="sig-name descname">data_out</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SshProtocol.data_out"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol.data_out" title="Permalink to this definition"></a></dt>
<dd><p>Data Evennia -&gt; User</p>
<dl class="field-list simple">
<dt class="field-odd">Keyword Arguments</dt>
<dd class="field-odd"><p><strong>kwargs</strong> (<em>any</em>) Options to the protocol.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.server.portal.ssh.SshProtocol.send_text">
<code class="sig-name descname">send_text</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SshProtocol.send_text"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol.send_text" title="Permalink to this definition"></a></dt>
<dd><p>Send text data. This is an in-band telnet operation.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>text</strong> (<em>str</em>) The first argument is always the text string to send. No other arguments
are considered.</p>
</dd>
<dt class="field-even">Keyword Arguments</dt>
<dd class="field-even"><p><strong>options</strong> (<em>dict</em>) <p>Send-option flags (booleans)</p>
<ul class="simple">
<li><p>mxp: enforce mxp link support.</p></li>
<li><p>ansi: enforce no ansi colors.</p></li>
<li><p>xterm256: enforce xterm256 colors, regardless of ttype setting.</p></li>
<li><p>nocolor: strip all colors.</p></li>
<li><p>raw: pass string through without any ansi processing
(i.e. include evennia ansi markers but do not
convert them into ansi tokens)</p></li>
<li><p>echo: turn on/off line echo on the client. turn
off line echo for client, for example for password.
note that it must be actively turned back on again!</p></li>
</ul>
</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.server.portal.ssh.SshProtocol.send_prompt">
<code class="sig-name descname">send_prompt</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SshProtocol.send_prompt"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol.send_prompt" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt id="evennia.server.portal.ssh.SshProtocol.send_default">
<code class="sig-name descname">send_default</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SshProtocol.send_default"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol.send_default" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt id="evennia.server.portal.ssh.ExtraInfoAuthServer">
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.ssh.</code><code class="sig-name descname">ExtraInfoAuthServer</code><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#ExtraInfoAuthServer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.ExtraInfoAuthServer" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">twisted.conch.ssh.userauth.SSHUserAuthServer</span></code></p>
<dl class="py attribute">
<dt id="evennia.server.portal.ssh.ExtraInfoAuthServer.noisy">
<code class="sig-name descname">noisy</code><em class="property"> = False</em><a class="headerlink" href="#evennia.server.portal.ssh.ExtraInfoAuthServer.noisy" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt id="evennia.server.portal.ssh.ExtraInfoAuthServer.auth_password">
<code class="sig-name descname">auth_password</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">packet</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#ExtraInfoAuthServer.auth_password"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.ExtraInfoAuthServer.auth_password" title="Permalink to this definition"></a></dt>
<dd><p>Password authentication.</p>
<p>Used mostly for setting up the transport so we can query
username and password later.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>packet</strong> (<em>Packet</em>) Auth packet.</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt id="evennia.server.portal.ssh.AccountDBPasswordChecker">
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.ssh.</code><code class="sig-name descname">AccountDBPasswordChecker</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">factory</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#AccountDBPasswordChecker"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.AccountDBPasswordChecker" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<p>Checks the django db for the correct credentials for
username/password otherwise it returns the account or None which is
useful for the Realm.</p>
<dl class="py attribute">
<dt id="evennia.server.portal.ssh.AccountDBPasswordChecker.noisy">
<code class="sig-name descname">noisy</code><em class="property"> = False</em><a class="headerlink" href="#evennia.server.portal.ssh.AccountDBPasswordChecker.noisy" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.server.portal.ssh.AccountDBPasswordChecker.credentialInterfaces">
<code class="sig-name descname">credentialInterfaces</code><em class="property"> = (&lt;InterfaceClass twisted.cred.credentials.IUsernamePassword&gt;,)</em><a class="headerlink" href="#evennia.server.portal.ssh.AccountDBPasswordChecker.credentialInterfaces" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt id="evennia.server.portal.ssh.AccountDBPasswordChecker.__init__">
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">factory</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#AccountDBPasswordChecker.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.AccountDBPasswordChecker.__init__" title="Permalink to this definition"></a></dt>
<dd><p>Initialize the factory.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>factory</strong> (<em>SSHFactory</em>) Checker factory.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.server.portal.ssh.AccountDBPasswordChecker.requestAvatarId">
<code class="sig-name descname">requestAvatarId</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">c</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#AccountDBPasswordChecker.requestAvatarId"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.AccountDBPasswordChecker.requestAvatarId" title="Permalink to this definition"></a></dt>
<dd><p>Generic credentials.</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt id="evennia.server.portal.ssh.PassAvatarIdTerminalRealm">
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.ssh.</code><code class="sig-name descname">PassAvatarIdTerminalRealm</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">transportFactory</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#PassAvatarIdTerminalRealm"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.PassAvatarIdTerminalRealm" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">twisted.conch.manhole_ssh.TerminalRealm</span></code></p>
<p>Returns an avatar that passes the avatarId through to the
protocol. This is probably not the best way to do it.</p>
<dl class="py attribute">
<dt id="evennia.server.portal.ssh.PassAvatarIdTerminalRealm.noisy">
<code class="sig-name descname">noisy</code><em class="property"> = False</em><a class="headerlink" href="#evennia.server.portal.ssh.PassAvatarIdTerminalRealm.noisy" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt id="evennia.server.portal.ssh.TerminalSessionTransport_getPeer">
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.ssh.</code><code class="sig-name descname">TerminalSessionTransport_getPeer</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">proto</span></em>, <em class="sig-param"><span class="n">chainedProtocol</span></em>, <em class="sig-param"><span class="n">avatar</span></em>, <em class="sig-param"><span class="n">width</span></em>, <em class="sig-param"><span class="n">height</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#TerminalSessionTransport_getPeer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.TerminalSessionTransport_getPeer" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
<p>Taken from twisteds TerminalSessionTransport which doesnt
provide getPeer to the transport. This one does.</p>
<dl class="py attribute">
<dt id="evennia.server.portal.ssh.TerminalSessionTransport_getPeer.noisy">
<code class="sig-name descname">noisy</code><em class="property"> = False</em><a class="headerlink" href="#evennia.server.portal.ssh.TerminalSessionTransport_getPeer.noisy" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt id="evennia.server.portal.ssh.TerminalSessionTransport_getPeer.__init__">
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">proto</span></em>, <em class="sig-param"><span class="n">chainedProtocol</span></em>, <em class="sig-param"><span class="n">avatar</span></em>, <em class="sig-param"><span class="n">width</span></em>, <em class="sig-param"><span class="n">height</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#TerminalSessionTransport_getPeer.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.TerminalSessionTransport_getPeer.__init__" title="Permalink to this definition"></a></dt>
<dd><p>Initialize self. See help(type(self)) for accurate signature.</p>
</dd></dl>
</dd></dl>
<dl class="py function">
<dt id="evennia.server.portal.ssh.getKeyPair">
<code class="sig-prename descclassname">evennia.server.portal.ssh.</code><code class="sig-name descname">getKeyPair</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">pubkeyfile</span></em>, <em class="sig-param"><span class="n">privkeyfile</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#getKeyPair"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.getKeyPair" title="Permalink to this definition"></a></dt>
<dd><p>This function looks for RSA keypair files in the current directory. If they
do not exist, the keypair is created.</p>
</dd></dl>
<dl class="py function">
<dt id="evennia.server.portal.ssh.makeFactory">
<code class="sig-prename descclassname">evennia.server.portal.ssh.</code><code class="sig-name descname">makeFactory</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">configdict</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#makeFactory"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.makeFactory" title="Permalink to this definition"></a></dt>
<dd><p>Creates the ssh server factory.</p>
</dd></dl>
</div>
<div class="clearer"></div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="../index.html">
<img class="logo" src="../_static/evennia_logo.png" alt="Logo"/>
</a></p>
<div id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" />
<input type="submit" value="Go" />
</form>
</div>
</div>
<script>$('#searchbox').show(0);</script>
<div role="note" aria-label="source link">
<!--h3>This Page</h3-->
<ul class="this-page-menu">
<li><a href="../_sources/api/evennia.server.portal.ssh.rst.txt"
rel="nofollow">Show Page Source</a></li>
</ul>
</div>
<h3>Versions</h3>
<ul>
<li><a href="evennia.server.portal.ssh.html">1.0-dev (develop branch)</a></li>
<li><a href="../../0.9.5/api/evennia.server.portal.ssh.html">0.9.5 (master branch)</a></li>
</ul>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 1.0-dev</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.server.portal.ssh</a></li>
</ul>
<div class="develop">develop branch</div>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2020, The Evennia developer community.
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
</div>
</body>
</html>