python模块之paramiko

一、安装

pip install paramiko

二、连Linux服务器的2种方式

2.1、方式一

import paramiko

def sshExeCMD():
    client = paramiko.SSHClient()
    # 允许连接不在~/.ssh/known_hosts文件中的主机
    client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    # 输入ip,端口,账号,密码
    client.connect('ip', 22, '账号', '密码')
    '''
        1、标准输入      用于实现交互式命令
        2、标准输出      保存命令正常执行结果
        3、标准错误输出   保存错误信息
    '''
    stdin, stdou, stderr = client.exec_command('pwd')
    # print(stdin)
    print(stdou.read().decode('utf8'))
    # print(stderr)

    client.close()

if __name__ == '__main__':
    sshExeCMD()

2.2、方式二

transport = paramiko.Transport('ip', 22)
transport.connect(username='username', password='password')
ssh = paramiko.SSHClient()
ssh._transport = transport

三、上传和下载文件

import paramiko


def SshFileOP():
    # 连接服务器
    ssh_conn = paramiko.Transport('ip', 22)
    ssh_conn.connect(username='username', password='password')

    # 基于上述ssh连接创建tfp客户端,传入的参数是上面建立的连接
    ftp_client = paramiko.SFTPClient.from_transport(ssh_conn)

    # 下载文件,从Linux服务器上下载文件,第一个是服务器文件路径,第二个是Windows10本地路径
    #ftp_client.get("/etc/hosts", "D:pythonparamikodatahosts")

    # 上传文件
    ftp_client.put("a.jpg", "/tmp/a.jpg")
    ssh_conn.close()

if __name__ == '__main__':
    SshFileOP()
原文地址:https://www.cnblogs.com/hsyw/p/13776063.html