Revision 2acc860a ncclient/ssh.py

b/ncclient/ssh.py
15 15
import logging
16 16
from cStringIO import StringIO
17 17
from os import SEEK_CUR
18
import socket
18 19

  
19 20
import paramiko
20 21

  
22

  
21 23
from session import Session, SessionError
22 24

  
23 25
logger = logging.getLogger('ncclient.ssh')
......
39 41
    MSG_DELIM = ']]>]]>'
40 42
    
41 43
    def __init__(self, load_known_hosts=True,
42
                 missing_host_key_policy=paramiko.RejectPolicy):
44
                 missing_host_key_policy=paramiko.RejectPolicy()):
43 45
        Session.__init__(self)
44 46
        self._client = paramiko.SSHClient()
45 47
        self._channel = None
......
93 95
        self._parsing_state = state
94 96
        self._parsing_pos = self._in_buf.tell()
95 97

  
96
    def load_host_keys(self, filename):
97
        self._client.load_host_keys(filename)
98
    
99
    def set_missing_host_key_policy(self, policy):
100
        self._client.set_missing_host_key_policy(policy)
101
    
102
    # paramiko exceptions ok?
103
    # user might be looking for ClientError
98
    #def load_host_keys(self, filename):
99
    #    self._client.load_host_keys(filename)
100
    #
101
    #def set_missing_host_key_policy(self, policy):
102
    #    self._client.set_missing_host_key_policy(policy)
103
    #
104
    #def connect(self, hostname, port=830, username=None, password=None,
105
    #            key_filename=None, timeout=None, allow_agent=True,
106
    #            look_for_keys=True):
107
    #    self._client.connect(hostname, port=port, username=username,
108
    #                        password=password, key_filename=key_filename,
109
    #                        timeout=timeout, allow_agent=allow_agent,
110
    #                        look_for_keys=look_for_keys)    
111
    #    transport = self._client.get_transport()
112
    #    self._channel = transport.open_session()
113
    #    self._channel.invoke_subsystem('netconf')
114
    #    self._channel.set_name('netconf')
115
    #    self._connected = True
116
    #    self._post_connect()
117

  
104 118
    def connect(self, hostname, port=830, username=None, password=None,
105 119
                key_filename=None, timeout=None, allow_agent=True,
106 120
                look_for_keys=True):
107
        self._client.connect(hostname, port=port, username=username,
108
                            password=password, key_filename=key_filename,
109
                            timeout=timeout, allow_agent=allow_agent,
110
                            look_for_keys=look_for_keys)    
111
        transport = self._client.get_transport()
112
        self._channel = transport.open_session()
113
        self._channel.invoke_subsystem('netconf')
114
        self._channel.set_name('netconf')
115
        self._connected = True
116
        self._post_connect()
121
        self._transport = paramiko.Transport()
117 122
    
118 123
    def run(self):
119 124
        chan = self._channel

Also available in: Unified diff