通过pexpect.pxssh模块在Python中实现SSH连接和命令执行
发布时间:2023-12-28 09:47:47
在Python中,可以使用pexpect.pxssh模块实现SSH连接和命令执行。pexpect.pxssh是一个Python模块,用于自动化SSH命令行会话。它可以通过输入用户名和密码,建立SSH连接,执行命令,并返回执行结果。
要使用pexpect.pxssh模块,首先需要安装pexpect模块。可以使用pip install pexpect命令安装pexpect模块。
下面是一个使用pexpect.pxssh模块实现SSH连接和命令执行的示例代码:
import pexpect
def ssh_connect(ip, username, password):
try:
ssh = pexpect.pxssh.pxssh()
ssh.login(ip, username, password)
return ssh
except Exception as e:
print("SSH connection failed.")
print(str(e))
return None
def execute_command(ssh, command):
try:
ssh.sendline(command)
ssh.prompt()
result = ssh.before.decode('utf-8')
return result
except Exception as e:
print("Command execution failed.")
print(str(e))
return None
if __name__ == '__main__':
ip = '192.168.1.100'
username = 'admin'
password = 'admin123'
command = 'ls -l'
ssh = ssh_connect(ip, username, password)
if ssh is not None:
result = execute_command(ssh, command)
print(result)
ssh.logout()
在这个示例中,首先定义了一个名为ssh_connect的函数,用于建立SSH连接。函数接受IP地址、用户名和密码作为参数,并返回一个SSH连接对象。
接下来,定义了一个名为execute_command的函数,用于执行命令。函数接受一个SSH连接对象和命令作为参数,并返回命令执行结果。
在主函数中,设置了SSH连接的IP地址、用户名、密码和要执行的命令。通过调用ssh_connect函数,建立SSH连接,并将返回的SSH连接对象赋值给ssh变量。然后,通过调用execute_command函数,执行指定命令,并将执行结果打印出来。最后,通过调用ssh.logout()方法关闭SSH连接。
这个示例演示了如何使用pexpect.pxssh模块在Python中实现SSH连接和命令执行。可以根据实际需求,修改IP地址、用户名、密码和执行的命令,以满足不同的场景。
