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登陆服务器及执行命令的功能。不同的库有不同的用法,你可以根据实际需求选择最合适的库来完成任务。
