远程操作云主机

2019-09-25  本文已影响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()
上一篇下一篇

猜你喜欢

热点阅读