paramiko远程登录与sftp文件传输

(一)基于用户名密码的远程登录加命令执行

import paramiko
#创建ssh链接实例
ssh = paramiko.SSHClient()
#创建白名单,默认不询问, 即允许连接不在known_hosts文件中的主机
known_hosts = paramiko.AutoAddPolicy()
ssh.set_missing_host_key_policy(known_hosts)
#链接服务器
ssh.connect(
    hostname = "10.10.65.65", # inux主机
    port = 22, #端口,默认22
    username = "chen", #用户名 ,也可登录到root
    password = "123" #密码
)
#执行命令
stdin,stdout,stderr = ssh.exec_command("ls /")
    #ssh.exec_command() 返回三个类文件对象
    #stdin是远程主机接收我们写入到数据,stdout是远程主机向我们输出信息
    #stdin 是写权限的文件对象,标准输入
    #stdout 是读权限的文件对象,标准输出
    #stderr 是读权限的文件对象,标准错误,特殊的输出
#查看执行结果
result = stdout.read().decode()  # 得到远程主机的输出

print(result)
#关闭链接,释放内存
ssh.close()

(二)基于多线程的远程登录

import threading

def Exec(command,ip,user,passwd,port = 22):
    """
    编写执行命令的模块
    """
    ssh = paramiko.SSHClient()
    know_hosts = paramiko.AutoAddPolicy()
    ssh.set_missing_host_key_policy(know_hosts)
    ssh.connect(
        hostname = ip,
        port = port,
        username = user,
        password = passwd
 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值