美文网首页
远程操作云主机

远程操作云主机

作者: 魔曦帝天 | 来源:发表于2019-09-25 20:21 被阅读0次

    Paramiko 是用于实现执行远程命令和远程传输文件

    pip3 install paramiko  安装paramiko模块
    

    公匙密匙俩连接

        import paramiko
         # 创建SSH对象
        ssh = paramiko.SSHClient()
        # 信任对方的公钥
        ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        # 创建一个自己当前用户的私钥对象
        private_key = paramiko.RSAKey.from_private_key_file('/root/.ssh/id_rsa')
        # private_key = paramiko.ECDSAKey.from_private_key_file('/root/.ssh/id_ecdsa')
        # 连接服务器
        ssh.connect(hostname='10.0.122.124', port=22,
                    username='stus',  # 服务器端的用户
                    pkey=private_key  # 本地用户的私钥对象
                    )
        # 执行命令,#用三个值接受  命令的返回值
        stdin, stdout, stderr = ssh.exec_command('df /')  
        # 获取stdout结果
        result = str(stdout.read(), encoding='utf-8')    
        # 关闭连接
        ssh.close()
        print(result)
    

    文件上传下载

    import paramiko
    private_key = paramiko.RSAKey.from_private_key_file('/root/.ssh/id_rsa')
    # private_key = paramiko.RSAKey.from_private_key_file('/root/.ssh/id_rsa')
    # 创建一个传输对象
    transport = paramiko.Transport(('10.0.122.124',22))
    
    # 使用刚才的传输对象创建一个传输文件的的连接对象
    transport.connect(username='stus', pkey=private_key)
    sftp = paramiko.SFTPClient.from_transport(transport)
    #将/root/kulong.txt上传到远程主机/home/stus/kulong.txt
    sftp.put('/root/kulong.txt','/home/stus/kulong.txt')
    # 将远程主机的文件 /tmp/test.py 下载到本地并命名为  some.py
    sftp.get('/tmp/回顾.txt', 'some.txt')
    transport.close()
    

    相关文章

      网友评论

          本文标题:远程操作云主机

          本文链接:https://www.haomeiwen.com/subject/lbasyctx.html