bump version to 1.6, fix up docs a little bit
This commit is contained in:
parent
6f4110a066
commit
af4b8fedc9
2
Makefile
2
Makefile
|
@ -19,6 +19,8 @@
|
||||||
# rhydon (04dec05) - 1.5.2
|
# rhydon (04dec05) - 1.5.2
|
||||||
# squirtle (19feb06) - 1.5.3
|
# squirtle (19feb06) - 1.5.3
|
||||||
# tentacool (11mar06) - 1.5.4
|
# tentacool (11mar06) - 1.5.4
|
||||||
|
# umbreon (10may06) - 1.6
|
||||||
|
|
||||||
|
|
||||||
release:
|
release:
|
||||||
python ./setup.py sdist --formats=zip
|
python ./setup.py sdist --formats=zip
|
||||||
|
|
38
README
38
README
|
@ -1,5 +1,5 @@
|
||||||
paramiko 1.5.4
|
paramiko 1.6
|
||||||
"tentacool" release, 11 mar 2006
|
"umbreon" release, 10 may 2006
|
||||||
|
|
||||||
Copyright (c) 2003-2006 Robey Pointer <robey@lag.net>
|
Copyright (c) 2003-2006 Robey Pointer <robey@lag.net>
|
||||||
|
|
||||||
|
@ -83,21 +83,20 @@ probably the simplest demo of all is this:
|
||||||
|
|
||||||
import paramiko, base64
|
import paramiko, base64
|
||||||
key = paramiko.RSAKey(data=base64.decodestring('AAA...'))
|
key = paramiko.RSAKey(data=base64.decodestring('AAA...'))
|
||||||
t = paramiko.Transport('ssh.example.com')
|
client = paramiko.SSHClient()
|
||||||
t.connect(username='strongbad', password='thecheat', hostkey=key)
|
client.get_host_keys().add('ssh.example.com', 'ssh-rsa', key)
|
||||||
chan = t.open_session()
|
client.connect('ssh.example.com', username='strongbad', password='thecheat')
|
||||||
chan.exec_command('ls')
|
stdin, stdout, stderr = client.exec_command('ls')
|
||||||
for line in chan.makefile('r+'):
|
for line in stdout:
|
||||||
print '... ' + line.strip('\n')
|
print '... ' + line.strip('\n')
|
||||||
chan.close()
|
client.close()
|
||||||
t.close()
|
|
||||||
|
|
||||||
...which prints out the results of executing 'ls' on a remote server.
|
...which prints out the results of executing 'ls' on a remote server.
|
||||||
(the host key 'AAA...' should of course be replaced by the actual base64
|
(the host key 'AAA...' should of course be replaced by the actual base64
|
||||||
encoding of the host key. if you skip host key verification, the
|
encoding of the host key. if you skip host key verification, the
|
||||||
connection is not secure!)
|
connection is not secure!)
|
||||||
|
|
||||||
the following example scripts get progressively more detailed:
|
the following example scripts (in demos/) get progressively more detailed:
|
||||||
|
|
||||||
demo_simple.py
|
demo_simple.py
|
||||||
calls invoke_shell() and emulates a terminal/tty through which you can
|
calls invoke_shell() and emulates a terminal/tty through which you can
|
||||||
|
@ -132,15 +131,22 @@ ever would have before.
|
||||||
|
|
||||||
there are also unit tests here:
|
there are also unit tests here:
|
||||||
$ python ./test.py
|
$ python ./test.py
|
||||||
which will verify that some of the core components are working correctly.
|
which will verify that most of the core components are working correctly.
|
||||||
not much is tested yet, but it's a start. the tests for SFTP are probably
|
|
||||||
the best and easiest examples of how to use the SFTP class.
|
|
||||||
|
|
||||||
|
|
||||||
*** WHAT'S NEW
|
*** WHAT'S NEW
|
||||||
|
|
||||||
highlights of what's new in each release:
|
highlights of what's new in each release:
|
||||||
|
|
||||||
|
v1.6 UMBREON
|
||||||
|
* pageant support on Windows thanks to john arbash meinel and todd whiteman
|
||||||
|
* fixed unit tests to work under windows and cygwin (thanks to alexander
|
||||||
|
belchenko for debugging)
|
||||||
|
* various bugfixes/tweaks to SFTP file prefetch
|
||||||
|
* added SSHClient for a higher-level API
|
||||||
|
* SFTP readv() now yields results as it gets them
|
||||||
|
* several APIs changed to throw an exception instead of "False" on failure
|
||||||
|
|
||||||
v1.5.4 TENTACOOL
|
v1.5.4 TENTACOOL
|
||||||
* fixed HostKeys to more correctly emulate a python dict
|
* fixed HostKeys to more correctly emulate a python dict
|
||||||
* fixed a bug where file read buffering was too aggressive
|
* fixed a bug where file read buffering was too aggressive
|
||||||
|
@ -267,15 +273,11 @@ v1.0 JIGGLYPUFF
|
||||||
*** MISSING LINKS
|
*** MISSING LINKS
|
||||||
|
|
||||||
* [sigh] release a fork of pycrypto with the speed improvements
|
* [sigh] release a fork of pycrypto with the speed improvements
|
||||||
|
|
||||||
--- BEFORE 1.6: ---
|
|
||||||
* try making bzr use SSHClient
|
|
||||||
|
|
||||||
* host-based auth (yuck!)
|
* host-based auth (yuck!)
|
||||||
* ctr forms of ciphers are missing (blowfish-ctr, aes128-ctr, aes256-ctr)
|
* ctr forms of ciphers are missing (blowfish-ctr, aes128-ctr, aes256-ctr)
|
||||||
* sftp protocol 6 support (ugh....) -- once it settles down more
|
* sftp protocol 6 support (ugh....) -- once it settles down more
|
||||||
* make a simple example demonstrating use of SocketServer (besides forward.py?)
|
* make a simple example demonstrating use of SocketServer (besides forward.py?)
|
||||||
* should SSHClient try to use openssh config files?
|
* should SSHClient try to use openssh config files?
|
||||||
* figure out how to parse ssh.com encrypted key files?
|
* figure out how to parse ssh.com encrypted key files?
|
||||||
|
|
||||||
* is it possible to poll on a set of events at once?
|
* is it possible to poll on a set of events at once?
|
||||||
|
* potentially create only one thread shared by all Transports
|
||||||
|
|
|
@ -26,8 +26,9 @@ replaced C{telnet} and C{rsh} for secure access to remote shells, but the
|
||||||
protocol also includes the ability to open arbitrary channels to remote
|
protocol also includes the ability to open arbitrary channels to remote
|
||||||
services across an encrypted tunnel. (This is how C{sftp} works, for example.)
|
services across an encrypted tunnel. (This is how C{sftp} works, for example.)
|
||||||
|
|
||||||
To use this package, pass a socket (or socket-like object) to a L{Transport},
|
The high-level client API starts with creation of an L{SSHClient} object.
|
||||||
and use L{start_server <Transport.start_server>} or
|
For more direct control, pass a socket (or socket-like object) to a
|
||||||
|
L{Transport}, and use L{start_server <Transport.start_server>} or
|
||||||
L{start_client <Transport.start_client>} to negoatite
|
L{start_client <Transport.start_client>} to negoatite
|
||||||
with the remote host as either a server or client. As a client, you are
|
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
|
responsible for authenticating using a password or private key, and checking
|
||||||
|
@ -46,7 +47,7 @@ released under the GNU Lesser General Public License (LGPL).
|
||||||
|
|
||||||
Website: U{http://www.lag.net/paramiko/}
|
Website: U{http://www.lag.net/paramiko/}
|
||||||
|
|
||||||
@version: 1.5.4 (tentacool)
|
@version: 1.6 (umbreon)
|
||||||
@author: Robey Pointer
|
@author: Robey Pointer
|
||||||
@contact: robey@lag.net
|
@contact: robey@lag.net
|
||||||
@license: GNU Lesser General Public License (LGPL)
|
@license: GNU Lesser General Public License (LGPL)
|
||||||
|
@ -59,8 +60,8 @@ if sys.version_info < (2, 2):
|
||||||
|
|
||||||
|
|
||||||
__author__ = "Robey Pointer <robey@lag.net>"
|
__author__ = "Robey Pointer <robey@lag.net>"
|
||||||
__date__ = "11 Mar 2005"
|
__date__ = "10 May 2006"
|
||||||
__version__ = "1.6 (u?)"
|
__version__ = "1.6 (umbreon)"
|
||||||
__version_info__ = (1, 6, 0)
|
__version_info__ = (1, 6, 0)
|
||||||
__license__ = "GNU Lesser General Public License (LGPL)"
|
__license__ = "GNU Lesser General Public License (LGPL)"
|
||||||
|
|
||||||
|
|
6
setup.py
6
setup.py
|
@ -1,4 +1,4 @@
|
||||||
# Copyright (C) 2003-2005 Robey Pointer <robey@lag.net>
|
# Copyright (C) 2003-2006 Robey Pointer <robey@lag.net>
|
||||||
#
|
#
|
||||||
# This file is part of paramiko.
|
# This file is part of paramiko.
|
||||||
#
|
#
|
||||||
|
@ -42,13 +42,13 @@ except ImportError:
|
||||||
kw = {}
|
kw = {}
|
||||||
|
|
||||||
setup(name = "paramiko",
|
setup(name = "paramiko",
|
||||||
version = "1.5.4",
|
version = "1.6",
|
||||||
description = "SSH2 protocol library",
|
description = "SSH2 protocol library",
|
||||||
author = "Robey Pointer",
|
author = "Robey Pointer",
|
||||||
author_email = "robey@lag.net",
|
author_email = "robey@lag.net",
|
||||||
url = "http://www.lag.net/paramiko/",
|
url = "http://www.lag.net/paramiko/",
|
||||||
packages = [ 'paramiko' ],
|
packages = [ 'paramiko' ],
|
||||||
download_url = 'http://www.lag.net/paramiko/download/paramiko-1.5.4.zip',
|
download_url = 'http://www.lag.net/paramiko/download/paramiko-1.6.zip',
|
||||||
license = 'LGPL',
|
license = 'LGPL',
|
||||||
platforms = 'Posix; MacOS X; Windows',
|
platforms = 'Posix; MacOS X; Windows',
|
||||||
classifiers = [ 'Development Status :: 5 - Production/Stable',
|
classifiers = [ 'Development Status :: 5 - Production/Stable',
|
||||||
|
|
Loading…
Reference in New Issue