1、通过paramiko模块连接主机运行bash命令,模拟xshell功能,只能运行有返回值的命令,比如cd就运行不了,另外,ansible的底层也是paramiko模块写的。
import paramiko #第一次需要pip安装一下模块 hostname = '192.168.7.129' #连接主机的ip port = 22 username = 'root' password = '123' #登录密码 ssh = paramiko.SSHClient() #声明一个实例 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #policy策略,忽略/root/.ssh/known_hosts,直接登录 ssh.connect(hostname=hostname, port=port, username=username, password=password) while True cmd = input('===>:') stdin, stdout, stderr = ssh.exec_command(cmd) print(stdout.read().decode('utf-8'))
2、paramiko模块实现linux和windows之间的互相上传、下载文件
通过paramiko模块连接主机从linux中下载到Windows中
import paramiko hostname = '192.168.7.129' port = 22 username = 'root' password = '123' t = paramiko.Transport((hostname, port)) #实现ftp功能,声明ftp实例t.connect(username=username, password=password) sftp = paramiko.SFTPClient.from_transport(t) sftp.get('/root/1.py',r'C:\Users\Administrator\Desktop\1.py') sftp.close()
从Windows中上传到linux中只需要把倒数第二行改为:
sftp.put(r'C:\Users\Administrator\Desktop\1.py', '/root/1.py')
网友评论