欢迎访问宙启技术站
智能推送

Python实现SSH登陆服务器及执行命令的脚本演示(使用pxssh()库)

发布时间:2023-12-25 06:25:25

SSH(Secure Shell)是一种网络协议,用于安全地远程登录到远程服务器,并执行命令。Python中有多个库可以用于实现SSH登陆服务器及执行命令的脚本,其中一个常用的库是pxssh

pxssh是Python中基于pexpect库的一个模块,它提供了一个SSH客户端,可以用于远程登陆服务器,并执行命令。下面是一个使用pxssh库实现SSH登陆服务器及执行命令的脚本的例子:

from pexpect import pxssh

def ssh_login(hostname, username, password):
    try:
        # 创建一个SSH客户端对象
        ssh_client = pxssh.pxssh()

        # 使用SSH客户端对象连接远程服务器
        ssh_client.login(hostname, username, password)

        # 执行命令
        ssh_client.sendline('ls -l')
        ssh_client.prompt()  # 等待命令执行完毕
        print(ssh_client.before.decode())  # 输出命令执行结果

        # 关闭SSH连接
        ssh_client.logout()
    except pxssh.ExceptionPxssh as e:
        print("SSH连接失败:" + str(e))

# 使用示例
ssh_login('example.com', 'username', 'password')

在上面的例子中,ssh_login函数接受服务器的主机名、用户名和密码作为参数,然后创建一个pxssh对象并使用login方法连接远程服务器。连接成功后,使用sendline方法执行命令,再使用prompt方法等待命令执行完毕,最后通过before属性获取命令执行结果。

当连接失败时,pxssh会抛出一个pxssh.ExceptionPxssh异常,我们可以在except语句中处理连接失败的情况。

需要注意的是,为了使用pxssh库,你需要安装pexpect库。你可以使用以下命令来安装pexpect库:

pip install pexpect

通过以上的脚本示例,你可以方便地使用Python来实现SSH登陆服务器及执行命令的功能。不同的库有不同的用法,你可以根据实际需求选择最合适的库来完成任务。