Skip to content

Commit

Permalink
Merge branch '2.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
bitprophet committed Sep 15, 2016
2 parents 833d9f7 + 7944193 commit 9149160
Show file tree
Hide file tree
Showing 51 changed files with 17,985 additions and 7 deletions.
5 changes: 2 additions & 3 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,8 @@
Required packages:
Cryptography
To install the `in-development version
<https://github.com/paramiko/paramiko/tarball/master#egg=paramiko-dev>`_, use
`pip install paramiko==dev`.
To install the development version, ``pip install -e
git+https://github.com/paramiko/paramiko/#egg=paramiko``.
'''

import sys
Expand Down
4 changes: 4 additions & 0 deletions sites/www/_build.orig/.buildinfo
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 added sites/www/_build.orig/.doctrees/contact.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added sites/www/_build.orig/.doctrees/faq.doctree
Binary file not shown.
Binary file added sites/www/_build.orig/.doctrees/index.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
513 changes: 513 additions & 0 deletions sites/www/_build.orig/_sources/changelog.txt

Large diffs are not rendered by default.

12 changes: 12 additions & 0 deletions sites/www/_build.orig/_sources/contact.txt
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: ``paramiko@librelist.com`` (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.
26 changes: 26 additions & 0 deletions sites/www/_build.orig/_sources/contributing.txt
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
36 changes: 36 additions & 0 deletions sites/www/_build.orig/_sources/faq.txt
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.
33 changes: 33 additions & 0 deletions sites/www/_build.orig/_sources/index.txt
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.
94 changes: 94 additions & 0 deletions sites/www/_build.orig/_sources/installing-1.x.txt
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.
122 changes: 122 additions & 0 deletions sites/www/_build.orig/_sources/installing.txt
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
Binary file added sites/www/_build.orig/_static/ajax-loader.gif
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 9149160

Please sign in to comment.