添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
client = paramiko.SSHClient() The authenticity of host '172.25.254.254 (172.25.254.254)' can't be established. ECDSA key fingerprint is 4c:98:51:43:65:46:66:fd:af:5b:ea:cc:d9:97:c0:74. Are you sure you want to continue connecting (yes/no)? #自动选择yes client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #连接服务器 client.connect( hostname='172.25.254.110', username='root', password='redhat' #执行操作 #标准输入 标准输出 标准错误 stdin,stdout,stderr = client.exec_command('route -n') #获取命令的执行结果 print(stdout.read().decode('utf-8')) #关闭连接 client.close()

程序及运行结果:
在这里插入图片描述
在这里插入图片描述

二、paramiko批量连接主机

题目要求:

批量连接主机,若能连接请获取主机名,若不能请返回错误原因

操作如下:
为了获取批量的主机ip、用户一及用户密码,我们可以将其写在一个文件中,为方便获取,如下所示:
在这里插入图片描述
代码块:

from paramiko.ssh_exception import NoValidConnectionsError,AuthenticationException
def connect(cmd,hostname,user,password):
    import paramiko
    client = paramiko.SSHClient()
    client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        client.connect(
            hostname=hostname,
            username=user,
            password=password
        stdin, stdout, stderr = client.exec_command(cmd)
        a = stdout.read().decode('utf-8')
        print(stdout.read().decode('utf-8'))
        return a
    except NoValidConnectionsError as e:
        return '主机%s连接失败' %(hostname)
    except AuthenticationException as e:
        return '主机%s密码错误' %(hostname)
    except Exception as e:
        return '未知错误:',e
    finally:
        client.close()
with open('/tmp/hosts') as f:
    for line in f:
        hostname,username,password = line.strip().split(':')
        res = connect('hostname',hostname,username,password)
        # print(hostname.center(50,'*'))
        print('主机名:', res)

程序及运行结果:
在这里插入图片描述
在这里插入图片描述

题目要求:基于ssh用于连接远程服务器做操作:远程执行命令代码块:import paramiko#创建一个ssh对象client = paramiko.SSHClient()"""The authenticity of host '172.25.254.254 (172.25.254.254)' can't be established.ECDSA key fingerprint...
paramiko是什么? 基于ssh用于连接远程服务器做操作:远程执行命令, 上传文件, 下载文件 import paramiko #ssh root@172.25.254.250 创建一个ssh对象; client = paramiko.SSHClient() 2. 解决问题:如果之前没有;连接过的ip, 会出现 #Are you sure you want to continue connec...
Python中的paramiko是一个非常有用的模块,通过此模块,可以远程操控多台服务器,无需在服务器上安装任何东西,只需要在代码执行机器上有Python,paramiko环境就可以了,对于需要多台服务器协同工作或者要管理多台服务器的情况下非常有帮助。 以下为代码示例
1、使用paramiko库的SSHClient方法从而使用SSH的主机管理功能。 2、使用threading,python下的多线程库,进行多主机多线程管理,实现并发执行管理。 3、使用sys库的argv方法,使其python脚本在服务器下命令化 4、使用time库的clock方法计算命令执行所用的时间
局域网内有一百多台电脑,全部都是linux操作系统,所有电脑配置相同,系统完全相同(包括用户名和密码),ip地址是自动分配的。现在有个任务是在这些电脑上执行某些命令,者说进行某些操作,比如安装某些软件,拷贝某些文件,批量关机等。如果一台一台得手工去操作,费时又费力,如果要进行多个操作就更麻烦啦。 或许你会想到网络同传,网络同传是什么?就是在一台电脑上把电脑装好,配置好,然后利用某些软件,如“联想网络同传”把系统原样拷贝过去,在装系统时很有用,只要在一台电脑上装好,同传以后所有的电脑都装好操作系统了,很方便。同传要求所有电脑硬件完全相同,在联想的电脑上装的系统传到方正电脑上肯定会出问题的。传系统
1.调用函数: fromparamiko.ssh_exceptionimportNoValidConnectionsError,AuthenticationException 2.定义函数:三个参量,分别为hostname,username,password,分别代表远程主机的ip,登录用户和密码 3.远程连接 4.排错异常 5.打开文件,里边有我想要连接主机的ip,用户,密码 操作如...