Python3使用paramiko模块执行Shell命令

Python3使用paramiko模块执行Shell命令

简介

paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接,利用该模块,可以方便的进行ssh连接和sftp协议进行sftp文件传输。

环境

  • PyCharm
  • Python3.7
  • Windows

安装

使用paramiko

paramiko主要提供了两种连接方式,分别为:SSHClient()、Transport()函数。

SSHClient()

1
2
3
4
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())#允许连接不在know_hosts文件中的主机
ssh.connect("IP地址",22,"用户名", "密码")

Transport()

1
2
3
4
import paramiko
t = paramiko.Transport(("主机","端口"))
t.connect(username = "用户名", password = "密码")
#t.connect(username = “用户名”, password = “密码”, hostkey=”密钥”)

实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import  paramiko

def LinuxReboot(ip,port,username,password):
try:
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(ip, port, username, password)
stdin, stdout, stderr = ssh.exec_command("reboot")
ssh.close()
return 'Done {0}'.format(ip)
except:
return 'Error {0}'.format(ip)
if __name__ == '__main__':
print(LinuxReboot('IP', '端口', '用户名', '密码'))

其他

paramiko还可以实现上传、下载等功能,在这里就不过多演示了。

Enjoy~

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×