python中paramiko模块

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')

你可能感兴趣的:(python中paramiko模块)