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