Part of twisted.conch.ssh.transport View Source View In Hierarchy
Instance Variables | isClient | since we are never the client, this is always False. |
ignoreNextPacket | if True, ignore the next key exchange packet. This is set when the client sends a guessed key exchange packet but with an incorrect guess. | |
dhGexRequest | the KEX_DH_GEX_REQUEST(_OLD) that the client sent. The key generation needs this to be stored. | |
g | the Diffie-Hellman group generator. | |
p | the Diffie-Hellman group prime. |
Method | ssh_KEXINIT | No summary |
Method | ssh_KEX_DH_GEX_REQUEST_OLD | This represents two different key exchange methods that share the same integer value. |
Method | ssh_KEX_DH_GEX_REQUEST | No summary |
Method | ssh_KEX_DH_GEX_INIT | Called when we get a MSG_KEX_DH_GEX_INIT message. Payload:: integer e (client DH public key) |
Method | ssh_NEWKEYS | Called when we get a MSG_NEWKEYS message. No payload. When we get this, the keys have been set on both sides, and we start using them to encrypt and authenticate the connection. |
Method | ssh_SERVICE_REQUEST | Called when we get a MSG_SERVICE_REQUEST message. Payload:: string serviceName |
Inherited from SSHTransportBase:
Method | connectionLost | Called when the connection is shut down. |
Method | connectionMade | Called when the connection is made to the other side. We sent our version and the MSG_KEXINIT packet. |
Method | sendKexInit | Undocumented |
Method | sendPacket | Sends a packet. If it's been set up, compress the data, encrypt it, and authenticate it before sending. |
Method | getPacket | Try to return a decrypted, authenticated, and decompressed packet out of the buffer. If there is not enough data, return None. |
Method | dataReceived | First, check for the version string (SSH-2.0-*). After that has been received, this method adds data to the buffer, and pulls out any packets. |
Method | dispatchMessage | Send a received message to the appropriate method. |
Method | ssh_DISCONNECT | Called when we receive a MSG_DISCONNECT message. Payload:: long code string description |
Method | ssh_IGNORE | Called when we receieve a MSG_IGNORE message. No payload. This means nothing; we simply return. |
Method | ssh_UNIMPLEMENTED | Called when we receieve a MSG_UNIMPLEMENTED message. Payload:: long packet |
Method | ssh_DEBUG | No summary |
Method | setService | Set our service to service and start it running. If we were running a service previously, stop it first. |
Method | sendDebug | Send a debug message to the other side. |
Method | sendIgnore | Send a message that will be ignored by the other side. This is useful to fool attacks based on guessing packet sizes in the encrypted stream. |
Method | sendUnimplemented | Send a message to the other side that the last packet was not understood. |
Method | sendDisconnect | Send a disconnect message to the other side and then disconnect. |
Method | isEncrypted | Return True if the connection is encrypted in the given direction. Direction must be one of ["out", "in", "both"]. |
Method | isVerified | Return True if the connecction is verified/authenticated in the given direction. Direction must be one of ["out", "in", "both"]. |
Method | loseConnection | Lose the connection to the other side, sending a DISCONNECT_CONNECTION_LOST message. |
Method | receiveError | Called when we receive a disconnect error message from the other side. |
Method | receiveUnimplemented | Called when we receive an unimplemented packet message from the other side. |
Method | receiveDebug | Called when we receive a debug message from the other side. |
Method | _getKey | Get one of the keys for authentication/encryption. |
Method | _keySetup | Set up the keys for the connection and sends MSG_NEWKEYS when finished, |
Inherited from BaseProtocol (via SSHTransportBase, Protocol):
Method | makeConnection | Make a connection to a transport and a server. |
This represents two different key exchange methods that share the same integer value.
KEXDH_INIT (for diffie-hellman-group1-sha1 exchanges) payload:integer e (the client's Diffie-Hellman public key) We send the KEXDH_REPLY with our host key and signature.KEX_DH_GEX_REQUEST_OLD (for diffie-hellman-group-exchange-sha1) payload:
integer ideal (ideal size for the Diffie-Hellman prime) We send the KEX_DH_GEX_GROUP message with the group that is closest in size to ideal.If we were told to ignore the next key exchange packet by ssh_KEXINIT, drop it on the floor and return.
integer minimum integer ideal integer maximum
The client is asking for a Diffie-Hellman group between minimum and maximum size, and close to ideal if possible. We reply with a MSG_KEX_DH_GEX_GROUP message.
If we were told to ignore the next key exchange packekt by ssh_KEXINIT, drop it on the floor and return.integer e (client DH public key)We send the MSG_KEX_DH_GEX_REPLY message with our host key and signature.
string serviceNameThe client has requested a service. If we can start the service, start it; otherwise, disconnect with DISCONNECT_SERVICE_NOT_AVAILABLE.