starcluster.ssh.SSHClient

Package starcluster :: Module ssh :: Class SSHClient |
[hide private]
[frames] | no frames]

# Class SSHClient

source code

Establishes an SSH connection to a remote host using either password or private key authentication. Once established, this object allows executing commands, copying files to/from the remote host, various file querying similar to os.path.*, and much more.

Instance Methods | [hide private]
__init__(self, host, username=None, password=None, private_key=None, private_key_pass=None, port=22, timeout=30) x.__init__(...) initializes x; see x.__class__.__doc__ for signature | source code
load_private_key(self, private_key, private_key_pass=None) | source code
connect(self, host=None, username=None, password=None, private_key=None, private_key_pass=None, port=22, timeout=30) | source code
get_server_public_key(self) | source code
is_active(self) | source code
_get_socket(self, hostname, port) | source code
_load_rsa_key(self, private_key, private_key_pass=None) | source code
_load_dsa_key(self, private_key, private_key_pass=None) | source code
generate_rsa_key(self) | source code
get_public_key(self, key) | source code
load_remote_rsa_key(self, remote_filename) Returns paramiko.RSAKey object for an RSA key located on the remote machine | source code
makedirs(self, path, mode=493) Same as os.makedirs - makes a new directory and automatically creates all parent directories if they do not exist. | source code
mkdir(self, path, mode=493, ignore_failure=False) Make a new directory on the remote machine | source code
get_remote_file_lines(self, remote_file, regex=None, matching=True) Returns list of lines in a remote_file | source code
remove_lines_from_file(self, remote_file, regex) Removes lines matching regex from remote_file | source code
unlink(self, remote_file) | source code
remote_file(self, file, mode=`'``w``'`) Returns a remote file descriptor | source code
path_exists(self, path) Test whether a remote path exists. | source code
chown(self, uid, gid, remote_file) Apply permissions (mode) to remote_file | source code
chmod(self, mode, remote_file) Apply permissions (mode) to remote_file | source code
ls(self, path) Return a list containing the names of the entries in the remote path. | source code
isdir(self, path) Return true if the remote path refers to an existing directory. | source code
isfile(self, path) Return true if the remote path refers to an existing file. | source code
stat(self, path) Perform a stat system call on the given remote path. | source code
get(self, remotepath, localpath=None) Copies a file between the remote host and the local host. | source code
put(self, localpath, remotepath=None) Copies a file between the local host and the remote host. | source code
execute_async(self, command) Executes a remote command without blocking | source code
execute(self, command, silent=True, only_printable=False, ignore_exit_status=False, log_output=True) Execute a remote command and return stdout/stderr | source code
has_required(self, progs) Same as check_required but returns False if not all commands exist | source code
check_required(self, progs) Checks that all commands in the progs list exist on the remote system. | source code
which(self, prog) | source code
get_path(self) Returns the PATH environment variable on the remote machine | source code
get_env(self) Returns the remote machine's environment as a dictionary | source code
close(self) Closes the connection and cleans up. | source code
interactive_shell(self, user=`'``root``'`) | source code
_posix_shell(self, chan) | source code
_windows_shell(self, chan) | source code
__del__(self) Attempt to clean up if not explicitly closed. | source code
Inherited from `object`: `__delattr__`, `__format__`, `__getattribute__`, `__hash__`, `__new__`, `__reduce__`, `__reduce_ex__`, `__repr__`, `__setattr__`, `__sizeof__`, `__str__`, `__subclasshook__`

Properties | [hide private]
| transport This property attempts to return an active SSH transport
| sftp Establish the SFTP connection.
Inherited from `object`: `__class__`

Method Details | [hide private]

### __init__(self, host, username=None, password=None, private_key=None, private_key_pass=None, port=22, timeout=30) (Constructor) | source code
x.__init__(...) initializes x; see x.__class__.__doc__ for signature Overrides: object.__init__ (inherited documentation)

### makedirs(self, path, mode=493) | source code
Same as os.makedirs - makes a new directory and automatically creates all parent directories if they do not exist. mode specifies unix permissions to apply to the new dir

### mkdir(self, path, mode=493, ignore_failure=False) | source code
Make a new directory on the remote machine If parent is True, create all parent directories that do not exist mode specifies unix permissions to apply to the new dir

### get_remote_file_lines(self, remote_file, regex=None, matching=True) | source code
Returns list of lines in a remote_file If regex is passed only lines that contain a pattern that matches regex will be returned If matching is set to False then only lines *not* containing a pattern that matches regex will be returned

### path_exists(self, path) | source code
Test whether a remote path exists. Returns False for broken symbolic links

### execute_async(self, command) | source code
Executes a remote command without blocking NOTE: this method will not block, however, if your process does not complete or background itself before the python process executing this code exits, it will not persist on the remote machine

### execute(self, command, silent=True, only_printable=False, ignore_exit_status=False, log_output=True) | source code
    Execute a remote command and return stdout/stderr

    NOTE: this function blocks until the process finishes

    kwargs:
    silent - do not print output
    only_printable - filter the command's output to allow only printable
                    characters
    returns List of output lines

### check_required(self, progs) | source code
Checks that all commands in the progs list exist on the remote system. Returns True if all commands exist and raises exception.CommandNotFound if not.

Property Details | [hide private]

### transport This property attempts to return an active SSH transport Get Method: unreachable.transport(self) - This property attempts to return an active SSH transport

### sftp Establish the SFTP connection. Get Method: unreachable.sftp(self) - Establish the SFTP connection.