def __init__(self, hostname=None, port=None, username=None): self.session = lib.ssh_new() if hostname: lib.ssh_options_set(self.session, SSH_OPTIONS_HOST, cstring(hostname)) if username: lib.ssh_options_set(self.session, SSH_OPTIONS_USER, cstring(username)) lib.ssh_options_set(self.session, SSH_OPTIONS_PORT_STR, cstring(port))
def setOption(self, option, value): if (option == SSH_BIND_OPTIONS_BINDADDR or option == SSH_BIND_OPTIONS_BINDPORT_STR or option == SSH_BIND_OPTIONS_HOSTKEY or option == SSH_BIND_OPTIONS_DSAKEY or option == SSH_BIND_OPTIONS_RSAKEY or option == SSH_BIND_OPTIONS_BANNER or option == SSH_BIND_OPTIONS_LOG_VERBOSITY_STR): rc = lib.ssh_bind_options_set(self.bind, option, cstring(value)) self.check(rc) return rc raise RuntimeError("Unhandled option " + str(option))
def setOption(self, option, value): if (option == SSH_OPTIONS_PORT_STR or option == SSH_OPTIONS_USER or option == SSH_OPTIONS_USER or option == SSH_OPTIONS_SSH_DIR or option == SSH_OPTIONS_IDENTITY or option == SSH_OPTIONS_ADD_IDENTITY or option == SSH_OPTIONS_KNOWNHOSTS or option == SSH_OPTIONS_LOG_VERBOSITY_STR or option == SSH_OPTIONS_CIPHERS_C_S or option == SSH_OPTIONS_CIPHERS_S_C or option == SSH_OPTIONS_COMPRESSION_C_S or option == SSH_OPTIONS_COMPRESSION_S_C or option == SSH_OPTIONS_PROXYCOMMAND or option == SSH_OPTIONS_BINDADDR or option == SSH_OPTIONS_HOST): rc = lib.ssh_options_set(self.session, option, cstring(value)) self.check(rc) return rc raise RuntimeError("Unhandled option " + str(option))
def userauthAuto(self, passphrase=None): if(passphrase != None): passphrase=cstring(passphrase) rc = lib.ssh_userauth_publickey_auto(self.session, None, passphrase) self.check(rc) return rc
def userauthPassword(self, password): rc = lib.ssh_userauth_password(self.session, None, cstring(password)) self.check(rc) return rc