zoukankan      html  css  js  c++  java
  • Python使用paramiko库远程安全连接SSH

    • paramiko实例(账号密码登录执行命令)

    #!/usr/bin/python

    #ssh
    import paramiko
    import sys,os

    host='127.0.0.1'
    user = 'whl'
    password = '123456'

    s = paramiko.SSHClient() # 绑定实例
    s.load_system_host_keys() # 加载本地HOST主机文件
    s.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 允许连接不在know_hosts文件中的主机
    s.connect(host,22,user,password,timeout=5) # 连接远程主机
    while True:
    cmd=raw_input('cmd:')
    stdin,stdout,stderr = s.exec_command(cmd) # 执行命令
    cmd_result = stdout.read(),stderr.read() # 读取命令结果
    for line in cmd_result:
    print line

    • paramiko实例(传送文件)

    #!/usr/bin/evn python
    import os
    import paramiko
    host='127.0.0.1'
    port=22
    user = 'whl'
    password = '123456'
    ssh=paramiko.Transport((host,port))
    privatekeyfile = os.path.expanduser('~/.ssh/id_rsa')
    mykey = paramiko.RSAKey.from_private_key_file( os.path.expanduser('~/.ssh/id_rsa')) # 加载key 不使用key可不加
    ssh.connect(username=username,password=password) # 连接远程主机
    # 使用key把 password=password 换成 pkey=mykey
    sftp=paramiko.SFTPClient.from_transport(ssh) # SFTP使用Transport通道
    sftp.get('/etc/passwd','pwd1') # 下载 两端都要指定文件名
    sftp.put('pwd','/tmp/pwd') # 上传
    sftp.close()
    ssh.close()

    • paramiko实例(密钥执行命令)

    #!/usr/bin/python
    #ssh
    import paramiko
    import sys,os
    host='127.0.0.1'
    user = 'whl'
    s = paramiko.SSHClient()
    s.load_system_host_keys()
    s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    privatekeyfile = os.path.expanduser('~/.ssh/id_rsa') # 定义key路径
    mykey = paramiko.RSAKey.from_private_key_file(privatekeyfile)
    # mykey=paramiko.DSSKey.from_private_key_file(privatekeyfile,password='061128') # DSSKey方式 password是key的密码
    s.connect(host,22,user,pkey=mykey,timeout=5)
    cmd=raw_input('cmd:')
    stdin,stdout,stderr = s.exec_command(cmd)
    cmd_result = stdout.read(),stderr.read()
    for line in cmd_result:
    print line,
    s.close()

  • 相关阅读:
    vue学习笔记之v-if
    vue学习笔记之属性和方法
    vue学习笔记之v-for与-repeat
    王阳明心学
    读《铁血并购》
    心理测试:DISC性格测试(完整版)
    关于旅行
    [转载]win32 计时器使用
    [转]C#中调用资源管理器(Explorer.exe)打开指定文件夹 + 并选中指定文件 + 调用(系统默认的播放类)软件(如WMP)打开(播放歌曲等)文件
    [转]C#读写TEXT文件
  • 原文地址:https://www.cnblogs.com/yuanqc/p/10999033.html
Copyright © 2011-2022 走看看