import time
import paramiko
+from scp import SCPClient
import six
import logging
self._client.connect(self.host, username=self.user,
port=self.port, pkey=self.pkey,
key_filename=self.key_filename,
- password=self.password, timeout=1)
+ password=self.password,
+ allow_agent=False, look_for_keys=False,
+ timeout=1)
return self._client
except Exception as e:
message = ("Exception %(exception_type)s was raised "
time.sleep(interval)
if time.time() > (start_time + timeout):
raise SSHTimeout("Timeout waiting for '%s'" % self.host)
+
+ def put(self, files, remote_path=b'.', recursive=False):
+ client = self._get_client()
+
+ with SCPClient(client.get_transport()) as scp:
+ scp.put(files, remote_path, recursive)
+
+ # keep shell running in the background, e.g. screen
+ def send_command(self, command):
+ client = self._get_client()
+ client.exec_command(command, get_pty=True)