Notable Changes
- #103 + #112: require Cryptography 2.6+, remove dependency on PyNaCl
- #76 add
paramiko.__pkgname__
to distinguish from original Paramiko, and adjustTransport
client-id - #121 / paramiko#1189: use poll() instead of select() if possible
- #113 gssapi: remove support for old gssapi-python
- #129 transport: prefer ETM mac by default
- #152 remove cipher 3des-cbc, for key decrypt import from "decrepit" (avoid Cryptography package warnings)
- #136 / paramiko#2039 Remove blowfish from transport ciphers (was already omitted in default "preferred" list)
Fixed
-
#114 #124 pkey: fix
__str__()
for python3, fix__cmp__()
for python2 (already backported to paramiko-ng 2.8.10) -
#104 / paramiko#1933: rsakey: pad received signature with leading zeros (not needed for openssh, mostly affects paramiko server-mode when client is Putty) (already backported to paramiko-ng 2.8.8)
-
#106 / fix paramiko#908: Public key comparison used hash() output (only 32 or 64 bits) - fix to compare full public key values. For more details see https://www.paramiko.org/changelog.html#2.8.1 (already backported to paramiko-ng 2.8.8)
-
#107 / paramiko#1024: hostkeys: fix raising
KeyError
inSubDict.__delitem__()
(inappropriately) (already backported to paramiko-ng 2.8.8) -
#118 packet: fix dump_packets debug logging repeating bytes (since ETM mac algos added) (already backported to paramiko-ng 2.8.10)
-
#108 / paramiko#1266: rsakey,ecdsakey: catch TypeError and UnsupportedAlgorithm, raise SSHException
-
#113 / paramiko#2002 fix memory leak from caching thread-id
-
#144 paramiko#2098 demos: fix TypeError in interactive shell on Windows
Added
- #134 #139 / paramiko#1868 paramiko#2010 agent: support OpenSSH agent on Windows (in addition to pageant)
- #123 SSHClient: add get_security_options()
- #68 client: add handshake_timeout kwarg to connect()
- #147 Add open_timeout kwarg to exec_command()
- #71 / paramiko#1535 add
send_signal()
method toChannel
- #105 pkey: new methods
get_fingerprint_sha256_b64()
andget_fingerprint_md5()
(alias forget_fingerprint()
which remains for now)
Other
-
#80 transport: if
(host, port)
tuple is passed, set a 30-second timeout for tcp connect (if socket is passed, timeout is not modified) -
#151 transport: improve protocol banner exception string
-
#88 add filename to exceptions raised when loading keys
-
#114 also has some minor cleanup and refactoring of
asbytes()
and__hash__()
for ecdsa / ed25519 key types -
#150 paramiko#2165 call Message.asbytes() directly (minor optimization)