Package paramiko
[show private | hide private]
[frames | no frames]

Package paramiko

Paramiko (a combination of the esperanto words for "paranoid" and "friend") is a module for python 2.3 or greater that implements the SSH2 protocol for secure (encrypted and authenticated) connections to remote machines. Unlike SSL (aka TLS), the SSH2 protocol does not require heirarchical certificates signed by a powerful central authority. You may know SSH2 as the protocol that replaced telnet and rsh for secure access to remote shells, but the protocol also includes the ability to open arbitrary channels to remote services across an encrypted tunnel. (This is how sftp works, for example.)

To use this package, pass a socket (or socket-like object) to a Transport, and use start_server or start_client to negoatite with the remote host as either a server or client. As a client, you are responsible for authenticating using a password or private key, and checking the server's host key. (Key signature and verification is done by paramiko, but you will need to provide private keys and check that the content of a public key matches what you expected to see.) As a server, you are responsible for deciding which users, passwords, and keys to allow, and what kind of channels to allow.

Once you have finished, either side may request flow-controlled Channels to the other side, which are python objects that act like sockets, but send and receive data over the encrypted session.

Paramiko is written entirely in python (no C or platform-dependent code) and is released under the GNU Lesser General Public License (LGPL).

Website: http://www.lag.net/paramiko/

Version: 1.5.2 (rhydon)

Author: Robey Pointer

Contact: robey@lag.net

License: GNU Lesser General Public License (LGPL)

Submodules

Classes
Agent Client interface for using private keys from an SSH agent running on the local machine.
AgentKey Private key held in a local SSH agent.
BufferedFile Reusable base class to implement python-style file buffering around a simpler stream.
Channel A secure tunnel across an SSH Transport.
DSSKey Representation of a DSS key which can be used to sign an verify SSH2 data.
Message An SSH2 Message is a stream of bytes that encodes some combination of strings, integers, bools, and infinite-precision integers (known in python as longs).
RSAKey Representation of an RSA key which can be used to sign and verify SSH2 data.
SecurityOptions Simple object containing the security preferences of an ssh transport.
SFTP an alias for SFTPClient for backwards compatability
SFTPAttributes Representation of the attributes of a file (or proxied file) for SFTP in client or server mode.
SFTPClient SFTP client object.
SFTPFile Proxy object for a file on the remote server, in client mode SFTP.
SFTPHandle Abstract object representing a handle to an open file (or folder) in an SFTP server implementation.
SFTPServer Server-side SFTP subsystem support.
SubsystemHandler Handler for a subsytem in server mode.
Transport An SSH Transport attaches to a stream (usually a socket), negotiates an encrypted session, authenticates, and then creates stream tunnels, called Channels, across the session.
AuthHandler Internal class to handle the mechanics of authentication.
BaseSFTP  
ChannelFile A file-like wrapper around Channel.
Packetizer Implementation of the base SSH packet protocol.
PKey Base class for public keys.
ServerInterface This class defines an interface for controlling the behavior of paramiko in server mode.
SFTPServerInterface This class defines an interface for controlling the behavior of paramiko when using the SFTPServer subsystem to provide an SFTP server.
x This class defines an interface for controlling the behavior of paramiko in server mode.

Exceptions
BadAuthenticationType Exception raised when an authentication type (like password) is used, but the server isn't allowing that type.
PasswordRequiredException Exception raised when a password is needed to unlock a private key file.
SFTPError  
SSHException Exception raised by failures in SSH2 protocol negotiation or logic errors.

Variable Summary
str __author__ = 'Robey Pointer <robey@lag.net>'
str __date__ = '04 Dec 2005'
str __license__ = 'GNU Lesser General Public License (LGPL)'...
str __version__ = '1.5.2 (rhydon)'
tuple __version_info__ = (1, 5, 2)

Variable Details

__author__

Type:
str
Value:
'Robey Pointer <robey@lag.net>'                                        

__date__

Type:
str
Value:
'04 Dec 2005'                                                          

__license__

Type:
str
Value:
'GNU Lesser General Public License (LGPL)'                             

__version__

Type:
str
Value:
'1.5.2 (rhydon)'                                                       

__version_info__

Type:
tuple
Value:
(1, 5, 2)                                                              

Generated by Epydoc 2.1 on Sun Dec 4 11:16:47 2005 http://epydoc.sf.net