Packetizer¶
Packet handling
- exception paramiko.packet.NeedRekeyException¶
Exception indicating a rekey is needed.
- __weakref__¶
list of weak references to the object (if defined)
- class paramiko.packet.Packetizer(socket)¶
Implementation of the base SSH packet protocol.
- __init__(socket)¶
- __weakref__¶
list of weak references to the object (if defined)
- complete_handshake()¶
Tells
Packetizer
that the handshake has completed.
- handshake_timed_out()¶
Checks if the handshake has timed out.
If
start_handshake
wasn’t called before the call to this function, the return value will always beFalse
. If the handshake completed before a timeout was reached, the return value will beFalse
- Returns
handshake time out status, as a
bool
- need_rekey()¶
Returns
True
if a new set of keys needs to be negotiated. This will be triggered during a packet read or write, so it should be checked after every read or write, or at least after every few.
- read_all(n, check_rekey=False)¶
Read as close to N bytes as possible, blocking as long as necessary.
- read_message()¶
Only one thread should ever be in this function (no other locking is done).
- Raises
SSHException
– if the packet is mangled- Raises
NeedRekeyException
– if the transport should rekey
- readline(timeout)¶
Read a line from the socket. We assume no data is pending after the line, so it’s okay to attempt large reads.
- send_message(data)¶
Write a block of data using the current cipher, as an SSH block.
- set_inbound_cipher(block_engine, block_size, mac_engine, mac_size, mac_key, etm=False, aead=False, iv_in=None)¶
Switch inbound data cipher. :param etm: Set encrypt-then-mac from OpenSSH
- set_keepalive(interval, callback)¶
Turn on/off the callback keepalive. If
interval
seconds pass with no data read from or written to the socket, the callback will be executed and the timer will be reset.
- set_log(log)¶
Set the Python log object to use for logging.
- set_outbound_cipher(block_engine, block_size, mac_engine, mac_size, mac_key, sdctr=False, etm=False, aead=False, iv_out=None)¶
Switch outbound data cipher. :param etm: Set encrypt-then-mac from OpenSSH
- start_handshake(timeout)¶
Tells
Packetizer
that the handshake process started. Starts a book keeping timer that can signal a timeout in the handshake process.- Parameters
timeout (float) – amount of seconds to wait before timing out