zoukankan      html  css  js  c++  java
  • paramiko 基于公钥密钥连接,上传和下载

    去服务器执行ssh-keygen,生成对应的公钥和私钥。目录用户/.ssh/,id_rsa叫私钥,也就是钥匙,id_rsa.pub叫公钥。

    import paramiko
    private_key = paramiko.RSAKey.from_private_key_file('id_rsa31.txt')

    # 创建SSH对象
    ssh = paramiko.SSHClient()
    # 允许连接不在know_hosts文件中的主机
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    # 连接服务器
    ssh.connect(hostname='hostname', port=22, username='root', pkey=private_key)

    # 执行命令
    stdin, stdout, stderr = ssh.exec_command('df')
    # 获取命令结果
    result = stdout.read()

    # 关闭连接
    ssh.close()

    #上传和下载
    import paramiko
    private_key = paramiko.RSAKey.from_private_key_file('/home/auto/.ssh/id_rsa')
    transport = paramiko.Transport(('hostname', 22))
    transport.connect(username='root', pkey=private_key)

    sftp = paramiko.SFTPClient.from_transport(transport)
    # location.py 上传至服务器 /tmp/test.py
    sftp.put('/tmp/location.py', '/tmp/test.py')
    # remove_path 下载到本地 local_path
    sftp.get('remove_path', 'local_path')

    transport.close()
     
  • 相关阅读:
    Django model 常用方法记录
    程序员的注意事项
    硬件天使的使用
    你是否应该成为一名全栈工程师?
    web技术
    6个处理上面代码异味的重构方法(手法)
    git 命定
    ie console报错
    apache 省略index.php访问
    myisam和innodb的区别
  • 原文地址:https://www.cnblogs.com/anhao-world/p/13643947.html
Copyright © 2011-2022 走看看