summaryrefslogtreecommitdiffhomepage
path: root/paramiko/transport.py
diff options
context:
space:
mode:
Diffstat (limited to 'paramiko/transport.py')
-rw-r--r--paramiko/transport.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/paramiko/transport.py b/paramiko/transport.py
index bab23fa1..df068b3c 100644
--- a/paramiko/transport.py
+++ b/paramiko/transport.py
@@ -204,11 +204,17 @@ class Transport(threading.Thread, ClosingContextManager):
_key_info = {
'ssh-rsa': RSAKey,
+ 'ssh-rsa-cert-v01@openssh.com': RSAKey,
'ssh-dss': DSSKey,
+ 'ssh-dss-cert-v01@openssh.com': DSSKey,
'ecdsa-sha2-nistp256': ECDSAKey,
+ 'ecdsa-sha2-nistp256-cert-v01@openssh.com': ECDSAKey,
'ecdsa-sha2-nistp384': ECDSAKey,
+ 'ecdsa-sha2-nistp384-cert-v01@openssh.com': ECDSAKey,
'ecdsa-sha2-nistp521': ECDSAKey,
+ 'ecdsa-sha2-nistp521-cert-v01@openssh.com': ECDSAKey,
'ssh-ed25519': Ed25519Key,
+ 'ssh-ed25519-cert-v01@openssh.com': Ed25519Key,
}
_kex_info = {
@@ -1825,8 +1831,6 @@ class Transport(threading.Thread, ClosingContextManager):
continue
elif ptype == MSG_DISCONNECT:
self._parse_disconnect(m)
- self.active = False
- self.packetizer.close()
break
elif ptype == MSG_DEBUG:
self._parse_debug(m)
@@ -1850,8 +1854,7 @@ class Transport(threading.Thread, ClosingContextManager):
self._log(DEBUG, 'Ignoring message for dead channel %d' % chanid) # noqa
else:
self._log(ERROR, 'Channel request for unknown channel %d' % chanid) # noqa
- self.active = False
- self.packetizer.close()
+ break
elif (
self.auth_handler is not None and
ptype in self.auth_handler._handler_table