twisted.conch.ssh.transport.SSHClientTransport(SSHTransportBase) class documentationtwisted.conch.ssh.transport
          View Source
          (View In Hierarchy)
        
      Known subclasses: twisted.conch.client.direct.SSHClientTransport, twisted.conch.endpoints._CommandTransport, twisted.conch.scripts.tkconch.SSHClientTransport
SSHClientTransport implements the client side of the SSH protocol.
| Instance Variable | isClient | since we are always the client, this is always True. | 
| Instance Variable | x | our Diffie-Hellman private key. | 
| Instance Variable | e | our Diffie-Hellman public key. | 
| Instance Variable | g | the Diffie-Hellman group generator. | 
| Instance Variable | p | the Diffie-Hellman group prime | 
| Instance Variable | instance | the SSHService object we are requesting. | 
| Method | connectionMade | Called when the connection is started with the server. Just sets up a private instance variable. | 
| Method | ssh_KEXINIT | No summary | 
| Method | ssh_KEX_DH_GEX_GROUP | This handles two different message which share an integer value. | 
| Method | ssh_KEX_DH_GEX_REPLY | Called when we receive a MSG_KEX_DH_GEX_REPLY message. Payload:: string server host key integer f (server DH public key) | 
| Method | ssh_NEWKEYS | Called when we receive a MSG_NEWKEYS message. No payload. If we've finished setting up our own keys, start using them. Otherwise, remember that we've received this message. | 
| Method | ssh_SERVICE_ACCEPT | Called when we receive a MSG_SERVICE_ACCEPT message. Payload:: string service name | 
| Method | requestService | Request that a service be run over this transport. | 
| Method | verifyHostKey | Returns a Deferred that gets a callback if it is a valid key, or an errback if not. | 
| Method | connectionSecure | Called when the encryption has been set up. Generally, requestService() is called to run another service over the transport. | 
| Instance Variable | _gotNewKeys | if we receive a MSG_NEWKEYS message before we are ready to transition to the new keys, this is set to True so we can transition when the keys are ready locally. | 
| Method | _ssh_KEXDH_REPLY | Called to handle a reply to a diffie-hellman-group1-sha1 key exchange message (KEXDH_INIT). | 
| Method | _continueKEXDH_REPLY | The host key has been verified, so we generate the keys. | 
| Method | _continueGEX_REPLY | The host key has been verified, so we generate the keys. | 
| Method | _keySetup | See SSHTransportBase._keySetup(). | 
Inherited from BaseProtocol (via SSHTransportBase, Protocol):
| Method | makeConnection | Make a connection to a transport and a server. | 
Inherited from BaseProtocol (via SSHTransportBase, Protocol):
| Method | makeConnection | Make a connection to a transport and a server. | 
Inherited from BaseProtocol (via SSHTransportBase, Protocol):
| Method | makeConnection | Make a connection to a transport and a server. | 
Called when the connection is started with the server. Just sets up a private instance variable.
Called when we receive a MSG_KEXINIT message. For a description of the packet, see SSHTransportBase.ssh_KEXINIT(). Additionally, this method sends the first key exchange packet. If the agreed-upon exchange is diffie-hellman-group1-sha1, generate a public key and send it in a MSG_KEXDH_INIT message. If the exchange is diffie-hellman-group-exchange-sha1, ask for a 2048 bit group with a MSG_KEX_DH_GEX_REQUEST_OLD message.
Called to handle a reply to a diffie-hellman-group1-sha1 key exchange message (KEXDH_INIT).
Like the handler for KEXDH_INIT, this message type has an 
overlapping value.  This method is called from 
ssh_KEX_DH_GEX_GROUP if that method detects a 
diffie-hellman-group1-sha1 key exchange is in progress.
Payload:
string serverHostKey integer f (server Diffie-Hellman public key) string signature
We verify the host key by calling verifyHostKey, then continue in _continueKEXDH_REPLY.
This handles two different message which share an integer value.
If the key exchange is diffie-hellman-group-exchange-sha1, this is MSG_KEX_DH_GEX_GROUP. Payload:
string g (group generator) string p (group prime)
We generate a Diffie-Hellman public key and send it in a MSG_KEX_DH_GEX_INIT message.
The host key has been verified, so we generate the keys.
| Parameters | pubKey | the public key blob for the server's public key. (type: str) | 
| f | the server's Diffie-Hellman public key. (type: long) | |
| signature | the server's signature, verifying that it has the correct private key. (type: str) | 
Called when we receive a MSG_KEX_DH_GEX_REPLY message. Payload:
string server host key integer f (server DH public key)
We verify the host key by calling verifyHostKey, then continue in _continueGEX_REPLY.
The host key has been verified, so we generate the keys.
| Parameters | pubKey | the public key blob for the server's public key. (type: str) | 
| f | the server's Diffie-Hellman public key. (type: long) | |
| signature | the server's signature, verifying that it has the correct private key. (type: str) | 
Called when we receive a MSG_NEWKEYS message. No payload. If we've finished setting up our own keys, start using them. Otherwise, remember that we've received this message.
Called when we receive a MSG_SERVICE_ACCEPT message. Payload:
string service name
Start the service we requested.
Returns a Deferred that gets a callback if it is a valid key, or an errback if not.
| Returns |  (type: twisted.internet.defer.Deferred) | |
Called when the encryption has been set up. Generally, requestService() is called to run another service over the transport.