python2中paramiko模块远程操作linux

    xiaoxiao2025-09-09  82

     1.利用SFTP远程上传下载文件

    # coding=utf-8 import paramiko class SftpTrans(object): def __init__(self, host, port, username, password): self.trans = paramiko.Transport((host, port)) self.connect = self.trans.connect(username=username, password=password) self.sftp = paramiko.SFTPClient.from_transport(self.trans) def transFileFromLocal(self, localPath,aimsPath): self.sftp.put(localPath,aimsPath) def getFileFromAims(self, localPath, aimsPath): self.sftp.get(aimsPath, localPath) def closeStpf(self): self.trans.close() # 上传 host = '192.168.142.222' username = 'root' password = "123zxcv" port = 22 sftpObject = SftpTrans(host="192.168.142.222", port=22, username="root", password="123zxcv") sftpObject.transFileFromLocal(localPath="D:/bca.txt", aimsPath='/mnt/why/bca.txt') sftpObject.closeStpf() # 下载 host = '192.168.142.222' username = 'root' password = "123zxcv" port = 22 sftpObject = SftpTrans(host="192.168.142.222", port=22, username="root", password="123zxcv") sftpObject.getFileFromAims(aimsPath='/mnt/why/bca.txt', localPath="E:/bca.txt") sftpObject.closeStpf()

    2.ssh方式远程执行命令行操作linux

    # coding=utf-8 import paramiko class SSHTrans(object): def __init__(self, host, port, username, password): self.client = paramiko.SSHClient() self.client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) self.client.connect(host, port, username=username, password=password, timeout=20) def exec_command(self, cmd): stdin, stdout, stderr = self.client.exec_command(cmd, get_pty=False) return stdout def exec_commands(self, cmds): for i in cmds: stdin, stdout, stderr = self.client.exec_command(i, get_pty=False) def close_ssh(self): self.client.close() host = '192.168.142.222' username = 'root' password = "123zxcv" port = 22 ssh = SSHTrans(host="192.168.142.222", port=22, username="root", password="123zxcv") list = ssh.exec_command(cmd='ls /mnt/') for i in list: print i ssh.close_ssh() # 输出: apache-activemq-5.15.0 apache-activemq-5.15.0-bin.tar.gz why

    3.transport方式登录到服务器执行操作

    # coding=utf-8 import paramiko class TransportClient(object): def __init__(self, host, port, username, password): self.trans = paramiko.Transport((host, port)) self.connect = self.trans.connect(username=username, password=password) self.ssh = paramiko.SSHClient() self.ssh._transport = self.trans def exec_command(self, cmd): stdin, stdout, stderr = self.ssh.exec_command(cmd, get_pty=False) return stdout def exec_commands(self, cmds): for i in cmds: stdin, stdout, stderr = self.ssh.exec_command(i, get_pty=False) def close_ssh(self): self.trans.close() host = '192.168.142.222' username = 'root' password = "123zxcv" port = 22 ssh = TransportClient(host="192.168.142.222", port=22, username="root", password="123zxcv") list = ssh.exec_command(cmd='ls /mnt/') for i in list: print i ssh.close_ssh()

     

    最新回复(0)