forked from paramiko/paramiko
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
51 changed files
with
17,985 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
# Sphinx build info version 1 | ||
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. | ||
config: 31b209d8608f6a86cbd404c03cda8690 | ||
tags: 645f666f9bcd5a90fca523b33c5a78b7 |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
======= | ||
Contact | ||
======= | ||
|
||
You can get in touch with the developer & user community in any of the | ||
following ways: | ||
|
||
* IRC: ``#paramiko`` on Freenode | ||
* Mailing list: ``[email protected]`` (see `the LibreList homepage | ||
<http://librelist.com>`_ for usage details). | ||
* This website - a blog section is forthcoming. | ||
* Submit contributions on Github - see the :doc:`contributing` page. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
============ | ||
Contributing | ||
============ | ||
|
||
How to get the code | ||
=================== | ||
|
||
Our primary Git repository is on Github at `paramiko/paramiko`_; | ||
please follow their instructions for cloning to your local system. (If you | ||
intend to submit patches/pull requests, we recommend forking first, then | ||
cloning your fork. Github has excellent documentation for all this.) | ||
|
||
|
||
How to submit bug reports or new code | ||
===================================== | ||
|
||
Please see `this project-agnostic contribution guide | ||
<http://contribution-guide.org>`_ - we follow it explicitly. Again, our code | ||
repository and bug tracker is `on Github`_. | ||
|
||
Our current changelog is located in ``sites/www/changelog.rst`` - the top | ||
level files like ``ChangeLog.*`` and ``NEWS`` are historical only. | ||
|
||
|
||
.. _paramiko/paramiko: | ||
.. _on Github: https://github.com/paramiko/paramiko |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
=================================== | ||
Frequently Asked/Answered Questions | ||
=================================== | ||
|
||
Which version should I use? I see multiple active releases. | ||
=========================================================== | ||
|
||
Please see :ref:`the installation docs <release-lines>` which have an explicit | ||
section about this topic. | ||
|
||
Paramiko doesn't work with my Cisco, Windows or other non-Unix system! | ||
====================================================================== | ||
|
||
In an ideal world, the developers would love to support every possible target | ||
system. Unfortunately, volunteer development time and access to non-mainstream | ||
platforms are limited, meaning that we can only fully support standard OpenSSH | ||
implementations such as those found on the average Linux distribution (as well | ||
as on Mac OS X and \*BSD.) | ||
|
||
Because of this, **we typically close bug reports for nonstandard SSH | ||
implementations or host systems**. | ||
|
||
However, **closed does not imply locked** - affected users can still post | ||
comments on such tickets - and **we will always consider actual patch | ||
submissions for these issues**, provided they can get +1s from similarly | ||
affected users and are proven to not break existing functionality. | ||
|
||
I'm having strange issues with my code hanging at shutdown! | ||
=========================================================== | ||
|
||
Make sure you explicitly ``.close()`` your connection objects (usually | ||
``SSHClient``) if you're having any sort of hang/freeze at shutdown time! | ||
|
||
Doing so isn't strictly necessary 100% of the time, but it is almost always the | ||
right solution if you run into the various corner cases that cause race | ||
conditions, etc. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
Welcome to Paramiko! | ||
==================== | ||
|
||
Paramiko is a Python (2.6+, 3.3+) implementation of the SSHv2 protocol [#]_, | ||
providing both client and server functionality. While it leverages a Python C | ||
extension for low level cryptography | ||
(`Cryptography <https://cryptography.io>`_), Paramiko itself is a pure Python | ||
interface around SSH networking concepts. | ||
|
||
This website covers project information for Paramiko such as the changelog, | ||
contribution guidelines, development roadmap, news/blog, and so forth. Detailed | ||
usage and API documentation can be found at our code documentation site, | ||
`docs.paramiko.org <http://docs.paramiko.org>`_. | ||
|
||
Please see the sidebar to the left to begin. | ||
|
||
.. toctree:: | ||
:hidden: | ||
|
||
changelog | ||
FAQs <faq> | ||
installing | ||
contributing | ||
contact | ||
|
||
|
||
.. rubric:: Footnotes | ||
|
||
.. [#] | ||
SSH is defined in :rfc:`4251`, :rfc:`4252`, :rfc:`4253` and :rfc:`4254`. The | ||
primary working implementation of the protocol is the `OpenSSH project | ||
<http://openssh.org>`_. Paramiko implements a large portion of the SSH | ||
feature set, but there are occasional gaps. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
Installing (1.x) | ||
================ | ||
|
||
.. note:: Installing Paramiko 2.0 or above? See :doc:`installing` instead. | ||
|
||
This document includes legacy notes on installing Paramiko 1.x (specifically, | ||
1.13 and up). Users are strongly encouraged to upgrade to 2.0 when possible; | ||
PyCrypto (the dependency covered below) is no longer maintained and contains | ||
security vulnerabilities. | ||
|
||
General install notes | ||
===================== | ||
|
||
* Python 2.6+ and 3.3+ are supported; Python <=2.5 and 3.0-3.2 are **not | ||
supported**. | ||
* See the note in the main install doc about :ref:`release-lines` for details | ||
on specific versions you may want to install. | ||
|
||
.. note:: 1.x will eventually be entirely end-of-lifed. | ||
* Paramiko 1.7-1.14 have only one dependency: :ref:`pycrypto`. | ||
* Paramiko 1.15+ (not including 2.x and above) add a second, pure-Python | ||
dependency: the ``ecdsa`` module, trivially installable via PyPI. | ||
* Paramiko 1.15+ (again, not including 2.x and up) also allows you to | ||
optionally install a few more dependencies to gain support for | ||
:ref:`GSS-API/Kerberos <gssapi-on-1x>`. | ||
* Users on Windows may want to opt for the :ref:`pypm` approach. | ||
|
||
|
||
.. _pycrypto: | ||
|
||
PyCrypto | ||
======== | ||
|
||
`PyCrypto <https://www.dlitz.net/software/pycrypto/>`__ provides the low-level | ||
(C-based) encryption algorithms we need to implement the SSH protocol. There | ||
are a couple gotchas associated with installing PyCrypto: its compatibility | ||
with Python's package tools, and the fact that it is a C-based extension. | ||
|
||
C extension | ||
----------- | ||
|
||
Unless you are installing from a precompiled source such as a Debian apt | ||
repository or RedHat RPM, or using :ref:`pypm <pypm>`, you will also need the | ||
ability to build Python C-based modules from source in order to install | ||
PyCrypto. Users on **Unix-based platforms** such as Ubuntu or Mac OS X will | ||
need the traditional C build toolchain installed (e.g. Developer Tools / XCode | ||
Tools on the Mac, or the ``build-essential`` package on Ubuntu or Debian Linux | ||
-- basically, anything with ``gcc``, ``make`` and so forth) as well as the | ||
Python development libraries, often named ``python-dev`` or similar. | ||
|
||
For **Windows** users we recommend using :ref:`pypm`, installing a C | ||
development environment such as `Cygwin <http://cygwin.com>`_ or obtaining a | ||
precompiled Win32 PyCrypto package from `voidspace's Python modules page | ||
<http://www.voidspace.org.uk/python/modules.shtml#pycrypto>`_. | ||
|
||
.. note:: | ||
Some Windows users whose Python is 64-bit have found that the PyCrypto | ||
dependency ``winrandom`` may not install properly, leading to ImportErrors. | ||
In this scenario, you'll probably need to compile ``winrandom`` yourself | ||
via e.g. MS Visual Studio. See `Fabric #194 | ||
<https://github.com/fabric/fabric/issues/194>`_ for info. | ||
|
||
|
||
.. _pypm: | ||
|
||
ActivePython and PyPM | ||
===================== | ||
|
||
Windows users who already have ActiveState's `ActivePython | ||
<http://www.activestate.com/activepython/downloads>`_ distribution installed | ||
may find Paramiko is best installed with `its package manager, PyPM | ||
<http://code.activestate.com/pypm/>`_. Below is example output from an | ||
installation of Paramiko via ``pypm``:: | ||
|
||
C:\> pypm install paramiko | ||
The following packages will be installed into "%APPDATA%\Python" (2.7): | ||
paramiko-1.7.8 pycrypto-2.4 | ||
Get: [pypm-free.activestate.com] paramiko 1.7.8 | ||
Get: [pypm-free.activestate.com] pycrypto 2.4 | ||
Installing paramiko-1.7.8 | ||
Installing pycrypto-2.4 | ||
C:\> | ||
|
||
|
||
.. _gssapi-on-1x: | ||
|
||
Optional dependencies for GSS-API / SSPI / Kerberos | ||
=================================================== | ||
|
||
First, see the main install doc's notes: :ref:`gssapi` - everything there is | ||
required for Paramiko 1.x as well. | ||
|
||
Additionally, users of Paramiko 1.x, on all platforms, need a final dependency: | ||
`pyasn1 <https://pypi.python.org/pypi/pyasn1>`_ ``0.1.7`` or better. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,122 @@ | ||
========== | ||
Installing | ||
========== | ||
|
||
|
||
.. note:: | ||
These instructions cover Paramiko 2.0 and above. If you're looking to | ||
install Paramiko 1.x, see :doc:`installing-1.x`. However, **the 1.x line | ||
relies on insecure dependencies** so upgrading is strongly encouraged. | ||
|
||
|
||
.. _paramiko-itself: | ||
|
||
Paramiko itself | ||
=============== | ||
|
||
The recommended way to get Paramiko is to **install the latest stable release** | ||
via `pip <http://pip-installer.org>`_:: | ||
|
||
$ pip install paramiko | ||
|
||
.. note:: | ||
Users who want the bleeding edge can install the development version via | ||
``pip install paramiko==dev``. | ||
|
||
We currently support **Python 2.6, 2.7, 3.3+, and PyPy**. Users on Python 2.5 | ||
or older (or 3.2 or older) are urged to upgrade. | ||
|
||
Paramiko has only one direct hard dependency: the Cryptography library. See | ||
:ref:`cryptography`. | ||
|
||
If you need GSS-API / SSPI support, see :ref:`the below subsection on it | ||
<gssapi>` for details on its optional dependencies. | ||
|
||
|
||
.. _release-lines: | ||
|
||
Release lines | ||
------------- | ||
|
||
Users desiring stability may wish to pin themselves to a specific release line | ||
once they first start using Paramiko; to assist in this, we guarantee bugfixes | ||
for the last 2-3 releases including the latest stable one. | ||
|
||
This typically spans major & minor versions, so even if e.g. 3.1 is the latest | ||
stable release, it's likely that bugfixes will occasionally come out for the | ||
latest 2.x and perhaps even 1.x releases, as well as for 3.0. New feature | ||
releases for previous major-version lines are less likely but not unheard of. | ||
|
||
If you're unsure which version to install: | ||
|
||
* **Completely new users** should always default to the **latest stable | ||
release** (as above, whatever is newest / whatever shows up with ``pip | ||
install paramiko``.) | ||
* **Users upgrading from a much older version** (e.g. 1.7.x through 1.10.x) | ||
should probably get the **oldest actively supported line** (check the | ||
:doc:`changelog` for recent releases). | ||
* **Everybody else** is hopefully already "on" a given version and can | ||
carefully upgrade to whichever version they care to, when their release line | ||
stops being supported. | ||
|
||
|
||
.. _cryptography: | ||
|
||
Cryptography | ||
============ | ||
|
||
`Cryptography <https://cryptography.io>`__ provides the low-level (C-based) | ||
encryption algorithms we need to implement the SSH protocol. It has detailed | ||
`installation instructions`_ (and an `FAQ | ||
<https://cryptography.io/en/latest/faq/>`_) which you should read carefully. | ||
|
||
In general, you'll need one of the following setups: | ||
|
||
* On Windows or Mac OS X, provided your ``pip`` is modern (8.x+): nothing else | ||
is required. ``pip`` will install statically compiled binary archives of | ||
Cryptography & its dependencies. | ||
* On Linux, or on other platforms with older versions of ``pip``: you'll need a | ||
C build toolchain, plus development headers for Python, OpenSSL and | ||
``libffi``. Again, see `Cryptography's install docs`_; these requirements may | ||
occasionally change. | ||
|
||
.. warning:: | ||
If you go this route, note that **OpenSSL 1.0.1 or newer is effectively | ||
required**. Cryptography 1.3 and older technically allow OpenSSL 0.9.8, but | ||
1.4 and newer - which Paramiko will gladly install or upgrade, if you e.g. | ||
``pip install -U`` - drop that support. | ||
|
||
.. _installation instructions: | ||
.. _Cryptography's install docs: https://cryptography.io/en/latest/installation/ | ||
|
||
|
||
.. _gssapi: | ||
|
||
Optional dependencies for GSS-API / SSPI / Kerberos | ||
=================================================== | ||
|
||
In order to use GSS-API/Kerberos & related functionality, a couple of | ||
additional dependencies are required (these are not listed in our ``setup.py`` | ||
due to their infrequent utility & non-platform-agnostic requirements): | ||
|
||
* It hopefully goes without saying but **all platforms** need **a working | ||
installation of GSS-API itself**, e.g. Heimdal. | ||
* **Unix** needs `python-gssapi <https://pypi.python.org/pypi/python-gssapi/>`_ | ||
``0.6.1`` or better. | ||
|
||
.. note:: This library appears to only function on Python 2.7 and up. | ||
|
||
* **Windows** needs `pywin32 <https://pypi.python.org/pypi/pywin32>`_ ``2.1.8`` | ||
or better. | ||
|
||
.. note:: | ||
If you use Microsoft SSPI for kerberos authentication and credential | ||
delegation, make sure that the target host is trusted for delegation in the | ||
active directory configuration. For details see: | ||
http://technet.microsoft.com/en-us/library/cc738491%28v=ws.10%29.aspx | ||
|
||
|
||
.. toctree:: | ||
:hidden: | ||
|
||
installing-1.x |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.