首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在python中使用不同的主机和密码通过ssh连接多台服务器?

在Python中,可以使用paramiko库来实现通过SSH连接多台服务器的操作。paramiko是一个用于SSH2协议的Python实现,可以用于连接、执行命令和传输文件等操作。

以下是在Python中使用不同的主机和密码通过SSH连接多台服务器的步骤:

  1. 安装paramiko库:在命令行中执行以下命令来安装paramiko库:
  2. 安装paramiko库:在命令行中执行以下命令来安装paramiko库:
  3. 导入paramiko库:在Python脚本中导入paramiko库,以便使用其中的类和方法:
  4. 导入paramiko库:在Python脚本中导入paramiko库,以便使用其中的类和方法:
  5. 创建SSH客户端对象:使用paramiko库的SSHClient类创建一个SSH客户端对象:
  6. 创建SSH客户端对象:使用paramiko库的SSHClient类创建一个SSH客户端对象:
  7. 设置自动添加主机密钥:在连接之前,可以设置自动添加主机密钥的策略,以避免手动确认主机密钥的指纹。以下是一个示例,将自动添加主机密钥的策略设置为接受所有主机密钥:
  8. 设置自动添加主机密钥:在连接之前,可以设置自动添加主机密钥的策略,以避免手动确认主机密钥的指纹。以下是一个示例,将自动添加主机密钥的策略设置为接受所有主机密钥:
  9. 连接服务器:使用SSH客户端对象的connect方法连接服务器。在connect方法中,传入主机名、用户名和密码等连接参数:
  10. 连接服务器:使用SSH客户端对象的connect方法连接服务器。在connect方法中,传入主机名、用户名和密码等连接参数:
  11. 执行命令:连接成功后,可以使用SSH客户端对象的exec_command方法执行命令。以下是一个示例,执行一个简单的命令并打印输出:
  12. 执行命令:连接成功后,可以使用SSH客户端对象的exec_command方法执行命令。以下是一个示例,执行一个简单的命令并打印输出:
  13. 关闭连接:在完成所有操作后,记得关闭SSH连接:
  14. 关闭连接:在完成所有操作后,记得关闭SSH连接:

通过以上步骤,你可以在Python中使用不同的主机和密码通过SSH连接多台服务器。请注意,这只是一个简单的示例,实际应用中可能需要处理异常、使用密钥认证等更复杂的操作。

推荐的腾讯云相关产品:如果你想在腾讯云上管理和部署多台服务器,可以考虑使用腾讯云的云服务器(CVM)产品。云服务器提供了丰富的功能和灵活的配置选项,适用于各种场景和需求。你可以通过以下链接了解更多关于腾讯云云服务器的信息:

请注意,以上答案仅供参考,实际应用中可能需要根据具体情况进行调整和扩展。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

python之fabric模块

python 之 fabric 模块 Fabric 是一个 Python 开发部署工具,最大特点是不用登录远程服务器,在本地运行远程命令,几行 Python 脚本就可以轻松部署。...Fabric部署,只需简单地输入两条命令: $ fab pack $ fab deploy Fabric提供几个简单API来完成所有的部署,最常用是local()run(),分别在本地远程执行命令...Fabric是如何在远程执行命令呢?其实Fabric所有操作都是基于SSH执行,必要时它会提示输入口令,所以非常安全。更好办法是在指定部署服务器证书配置无密码ssh连接。...-H 指定目标主机多台主机‘,’号分隔 -p 远程账号密码,fab执行时默认使用root账户 -P 以异步并行方式运行多主机任务,默认为串行运行 -R 指定role(角色),以角色名区分不同业务组设备...``ssh``下私钥文件 --port=PORT 指定SSH连接端口 -R ROLES 根据角色操作,逗号分隔 -s SHELL 指定新shell,默认是``'

99750

何在多个 Linux 服务器上运行多个命令

动动发财小手,点个赞吧! 如果你正在管理多台 Linux 服务器,并且你想在所有 Linux 服务器上运行多个命令,但你不知道该怎么做。...创建 Shell 脚本 因此,您需要首先准备一个脚本,其中包含您要在不同服务器上执行 Linux 命令。...但我们建议您使用可以在 .ssh/config 文件中指定 ssh 别名,如何配置自定义 ssh 连接以简化远程访问中所述。...这种方法更有效可靠,它允许您为每个远程服务器指定配置选项(主机名、标识文件、端口、用户名等)。 以下是我们示例 ssh 主机别名文件,也就是用户特定 ssh 配置文件。.../commands.sh 上述命令中使标志含义: -h – 读取主机文件。 -P – 告诉 pssh 在输出到达时显示输出。 -I – 读取输入并发送到每个 ssh 进程。

30420
  • 004.Ansible Ad-Hoc命令集

    场景4:将172.24.8.31服务器以root执行sleep 20,设置最大连接超时为2s,且设置为后台运行模式,执行过程每2s输出一次进度,5s还未执行完则终止该任务。...limit参数限定主机做变更 场景2:通过指定具体IP限定主机做变更。...No Yes/no 创建为系统账号,不会改变已经存在用户 uid 否 可选,设定为用户uid update_password 否 Always Always On_create always:只有当用户密码不同才会更新密码....Pip简介及使用》,passlib对于不同Python版本使用方式略有差异,Python多版本管理参考《Python多环境管理》。...提示:sha512加密密码包括特殊元字符,\n,在传输至远程服务器可能导致密码被转移异常问题。

    1.1K40

    【5分钟玩转Lighthouse】Python绘制图表

    本文将讲解如何在Lighthouse等云服务器通过display、Python、Matplotlib等工具查看绘制各类图表。...0x02 SSH X11连接 相信大家都会使用SSH客户端连接Linux远程主机,然后通过命令行CLI——通常是shell——来与主机进行交互。...建立支持X11 FowardingSSH连接SSH会话中实现X11 Forwarding需要SSH服务器客户端都支持,目前较新发行版系统SSH服务器端配置都是默认支持。...当然我们可以display命令查看指定图片,: display my-demo-image.png 如果SSH连接时,忘记指定-X参数的话,运行display命令时会报类似地错误,它通常意味着X11...display1.png 上图中可以看到,已打开gvimfirefox是运行在远程服务器GUI应用,(实验本地主机是没有这两个应用程序)只是通过SSH X11转发将程序窗口显示转到本地。

    9.9K4617

    自动化运维之Ansible安装部署

    默认通过SSH协议进行远程命令执行或下发配置,无需部署任何客户端代理软件,从而使得自动化环境部署变得更加简单。可同时支持多台主机并行管理,使得管理主机更加便捷。...,同时也支持自定义动态主机清单指定其他配置文件位置 Connection plugins 连接插件:负责被管理主机实现通信。...除支持使用SSH连接被管理主机外,ansible还支持其它连接方式,所以需要有连接插件将各个主机连接插件连接到ansible Playbooks(yam1,jinja2)剧本:用来集中定义ansible...#被管理主机分类 192.168.199.131 3 设置SSH密码登录 为了避免ansible下发指令时输入被管理主机密码,可以通过证书签名达到SSH密码登录效果,使用ssh-keygen产生一对密匙...,使用ssh-copy-id来下发生成公匙 关闭三台服务器防火墙 systemctl stop firewalld.service setenforce 0 配置秘钥验证 ssh-keygen -t

    1.4K50

    第二章 SSH服务

    2.1.2 基本实验 下面先来看一下ssh基本部署步骤: 首先需要两台Linux主机(可以是两台虚拟机),都配置好ip,:192.168.10.10192.168.10.11。...用户名@服务器IP/主机名 示例:ssh 192.168.10.10 ---登录服务器,默认以当前自己用户名登录服务器 注:会提示是否确定建立连接...windows客户端软件使用,:xshell,在实际生产环境中使用颇多,大家一定多加练习与熟悉。...顾名思义,可逆加密就是可以通过算法逆向操作将数据推回来,即解密,:加法逆算法是减法;不可逆算法是无法做逆向计算:md5,hash2算法。...而私钥一般都是本机自己使用,公钥是发送给其他主机(可发送给多台)使用,这样这台主机就可以与多台不同主机加密通信了。 ssh作为安全登录服务,对账号、密码传输是加密处理,采用是可逆算法。

    1.3K31

    【远程虚拟机】ESXI部署Ubuntu22.04虚拟机无公网IP远程ssh详细攻略

    前言 本篇文章讲解如何在VMware ESXi中创建Linux虚拟机,并结合 Cpolar内网穿透工具配置公网地址,轻松实现随时随地通过SSH远程访问管理本地创建虚拟机。...VMware Workstation它是一款专业虚拟机软件,可以在一台物理机上运行多个操作系统,支持Windows、Linux等操作系统,可以模拟多台虚拟机,支持网络虚拟化,可以模拟多台虚拟机之间网络连接...192.168.50.153 接下来进行在宿主机Windows上SSH远程刚创建Ubuntu 需要使用SSH客户端来远程连接Ubuntu,这里我使用ssh客户端是Xshell, 点击新建: 名称:自定义...主机号:UbuntuIP地址 端口号:填写22 点击连接 填写Ubuntu用户名、密码点击确定 可以看到使用SSH在本地局域网下连接成功,下面我们安装cpolar内网穿透,实现在公网也可以随时随地远程连接新创建...Xshell连接,同上步骤一样 主机:填写cpolar生成公网地址(复制tcp://后面) 端口号:填写生成tcp地址:后面 (这里我是14216) 点击连接 再输入用户名密码,可以看到同样连接成功

    8110

    自动化运维管理工Ansible安装与配置

    Ruby C/S Ruby语法格式 通过模块实现 Ansible Ansible基于Python开发,集合了众多优秀运维工具优点,实现了批量运行命令、部署程序、配置系统等功能。...默认通过SSH协议进行远程命令执行或下发配置,无需任何客户端代理软件,从而使得自动化环境部署变得简单,同时支持多台主机并行管理,使得管理主机更加便携。...[mysql] 192.168.144.114 2.3、利用SSH实现登录 控制服务器上操作,为了避免ansible下发指令时输入被管理主机密码,需要使用SSH证书签名达到免密登录效果。...ssh-keygen -t rsa ssh-copy-id root@192.168.144.111 //发送公匙给被控服务器 ssh-copy-id root@192.168.144.114 当被控制服务器接收到公匙后...,实际已经可以通过ansible进行命令控制,只是,存在每次都需要输入私钥密码交互式验证较为麻烦,因此需要设置免交互代理。

    83820

    说下ansible吧(基础篇)

    前言 之前一直都是saltstack,C/S架构,需要master端以及minion端,一台或者多台master端,批量控制minion端 ansible呢,没那么复杂,基于ssh协议来批量部署工具...源码安装(不作说明,自行百度,建议源或者pip) 基础介绍 准备 书写hosts文件 vim /etc/ansible/hosts ---------------- [test] xxx.xx.xx 无密码连接远程服务器设置...(ansible默认通过ssh公钥方式登录) 添加公钥文件,见上面无密码连接远程服务器设置 添加一个--ask-pass参数 ansible text -m shell -a "ls /www" --user...比如ping,shell -M --module-path 指定模块存放路径,一般是自定义一些模块 -i --inventory 改变默认行为 连接目标主机参数 -K --ask-pass 密码方式连接远程主机...=root 这样,这个主机别名就是jumper Inventory连接参数 ansible_ssh_host # 连接远程主机名 ansible_ssh_port # ssh端口号 ansible_ssh_user

    64830

    Linux集群管理工具PSSH批量管理服务器

    当你有多台服务器,如果一台一台登录上去管理那就说不出麻烦,所以批量管理工具就应运而生了。...只要你设置了SSH密码登录: ssh-keygen -t rsa ssh-copy-id user@host 将密钥分发到响应host上就可以实现无密码ssh登录操作了。...安装 python setup.py install pssh使用简介 -h 执行命令远程主机列表  或者 -H user@ip:port  文件内容格式[user@]host[:port]      ...      -A 提示输入密码并且把密码传递给ssh       -O 设置ssh参数具体配置,参照ssh_config配置文件       -x 传递多个SSH 命令,多个命令空格分开,引号括起来...      软件包内其他命令         pscp  传输文件到多个hosts,他特性scp差不多         pslurp  从多台远程机器拷贝文件         pnuke

    1.7K20

    SSH连接与自动化部署工具parami

    paramiko paramiko是基于Python实现SSH2远程安全连接,支持认证及密钥方法。可以实现远程命令执行,文件传输,中间SSH代理等功能,相对于Pexpect,封装层次更高。...注意不同情况,如果执行完telnet命令后,telnet换行符是\r\n # ssh=s.invoke_shell() #在SSH server端创建一个交互式shell,且可以按自己需求配置伪终端...(policy):设置连接远程主机没有本地主机密钥时策略。...,堡垒机)IP -H 指定目标主机,多个“,”分割 -P 异步运行多主机任务 -R 指定角色,以角色来区分机组 -t 设备连接超时时间,秒 -T 远程主机命令执行超时时间,秒 -w 当命令执行失败,发出警告...reboot,重启远程主机reboot() @task函数装饰器,标识函数为fab可调用,否则对fab不可见 @runs_once,标识函数只会执行一次,不受多台主机影响。

    1.3K10

    python使用paramiko管理多台服务器

    痛点 举个工作中常见例子,现有这样需求:需要使用mac客户端,远程连接到Linux服务器,查看上面的文件大小,通常使用方法是如下几种: telnet PUTTY SCP XManager等...paramiko仅需要在本地上安装python以及PyCrypto,对于连接多台服务器,进行复杂及重复操作操作特别有帮助。...paramiko 介绍 paramiko是python语言写一个第三方库,支持加密认证方式,遵循SSH2协议,可以进行远程服务器连接。...)) ssh.connect("123.56.xx.xx",22,"root", "口令") #上面的第二行代码作用是允许连接不在know_hosts文件中主机。...,因为现在一般公司级测试环境服务器,运维部门是不提供服务器密码,会统一使用"跳板机"登陆服务器,所以只能使用秘钥连接方式。

    1.8K20

    Linux 下自动化工具 Parallel SSH 中文使用指南

    parallel-ssh 是为小规模自动化而设计异步并行 SSH 库,包括 pssh、pscp、prsync、pslurp pnuke工具,其源代码使用 Python语言编写开发。.../libexec/bin/pssh-askpass 编号 子命令 对应功能解释 1 pssh 通过 ssh 协议在多台主机上并行地运行命令 2 pscp 通过 ssh 协议把文件并行地复制到多台主机上...3 rsync 通过 rsync 协议把文件高效地并行复制到多台主机上 4 slurp 通过 ssh 协议把文件并行地从多个远程主机复制到中心主机上 5 pnuke 通过 ssh 协议并行地在多个远程主机上杀死进程...1. pssh 通过 ssh 协议在多台主机上并行地运行命令 命令参数使用 编号 参数选项 对应参数解释 1 -h HOST_FILE 指定主机文件列表文件;内容格式为”[user@]host[:port...设置 SSH 选项 9 -x ARGS 额外命令行参数使用空白符号、引号、反斜线处理 10 -X ARG 额外命令行参数,单个参数模式,同-x 参数 11 -A 手动输入密码模式 12 -i 每个服务器内部处理信息输出

    95020

    Linux 下自动化工具 Parallel SSH 中文使用指南

    parallel-ssh 是为小规模自动化而设计异步并行 SSH 库,包括 pssh、pscp、prsync、pslurp pnuke工具,其源代码使用 Python语言编写开发。.../libexec/bin/pssh-askpass 编号 子命令 对应功能解释 1 pssh 通过 ssh 协议在多台主机上并行地运行命令 2 pscp 通过 ssh 协议把文件并行地复制到多台主机上...3 rsync 通过 rsync 协议把文件高效地并行复制到多台主机上 4 slurp 通过 ssh 协议把文件并行地从多个远程主机复制到中心主机上 5 pnuke 通过 ssh 协议并行地在多个远程主机上杀死进程...1. pssh 通过 ssh 协议在多台主机上并行地运行命令 命令参数使用 编号 参数选项 对应参数解释 1 -h HOST_FILE 指定主机文件列表文件;内容格式为”[user@]host[:port...设置 SSH 选项 9 -x ARGS 额外命令行参数使用空白符号、引号、反斜线处理 10 -X ARG 额外命令行参数,单个参数模式,同-x 参数 11 -A 手动输入密码模式 12 -i 每个服务器内部处理信息输出

    82060

    Linux 远程连接SSH 新手指南

    本文介绍了如何配置两台计算机 安全外壳协议(secure shell)(简称 SSH连接,以及如何在没有密码情况下安全地从一台计算机连接到另一台计算机。...相关术语 在讨论多台计算机时,如何将不同计算机彼此区分开可能会让人头疼。IT 社区拥有完善术语来描述计算机联网过程。...在每台主机上激活 SSH通过 SSH 连接两台计算机,每个主机都必须安装 SSHSSH 有两个组成部分:本地计算机上使用用于启动连接命令,以及用于接收连接请求 服务器。...如果我正在使用我个人计算机(即作为当前本地计算机),并且想通过 SSH 连接到我工作计算机,我可以通过将自己标识为 sethkenlon 并使用我工作密码来实现连接。...要通过 SSH 连接到远程计算机,你必须知道其 IP 地址或可解析主机名。

    4.3K40

    Ansible快速入门

    ,Ansible不需要在远程主机上安装client/agents,因为它们是基于ssh远程主机通讯。...Ansible特点 部署简单, 只需要在控制主机上部署ansible环境,被控制端上只要求安装sshpython 2.5以上版本,这个对于类unix系统来说相当与无需配置. 1、no angents...: 基于yaml语法编写playbook 5、基于推送模式: 不同于puppet拉取模式,直接由调用者控制变更在服务器上发生时间 6、模块是幂等性:定义任务已存在则不会做任何事情,意味着在同一台服务器上多次执行同一个...可以同时操作一个组多台主机,组与主机组之间关系都是通过inventory文件配置。...="123456" # 方法二 主机+端口+密码 [test] 192.168.1.7[6:8] [test:vars] ansible_ssh_pass="123456" 基于密钥连接 基于秘钥连接需要先创建公钥私钥

    43420

    何在Ubuntu 18.04上安装配置Ansible

    介绍 配置管理系统旨在使管理员运营团队轻松控制大量服务器。它们允许您从一个中心位置以自动方式控制许多不同系统。...步骤2 - 配置对Ansible主机SSH访问 如前所述,Ansible主要通过SSH与客户端计算机通信。虽然它当然能够处理基于密码SSH身份验证,但使用SSH密钥可以让事情变得更简单。...hosts文件非常灵活,可以通过几种不同方式进行配置。...此时,可以通过键入以下内容从Ansible服务器访问这些服务器ssh root@ansible_host_ip 如果您已正确设置密码,则不应提示您输入密码。...这些基本上是可以在远程主机上运行命令。ping模块以多种方式运行,Linux中普通ping实用程序,但它会检查Ansible连接

    6.1K30

    Ansible自动化批量管理入门

    ansible服务概念介绍 是基于python语音开发自动化软件工具 是基于SSH远程管理服务实现远程管理主机 批量管理多台主机 提高运维工作效率 降低运维工作难度 ansible批量管理特点 优点:...(基于ssh,无需安装客户端,zabbix客户端要安装agent) 可读性强(采用YAML格式) 缺点: 对Windows系统排斥(服务端无法安装在windows) 运行效率较低(task任务是串行运行...主机清单配置(inventory:默认文件:/etc/ansible/hosts) 软件模块信息(module 通过其他语言编写而成,能实现某个特定功能工具,例如思科配置接口模块,修改ip地址模块等等...smart表示智能选择sshparamiko,当SSH支持ControlPersist(即持久连接)时使用ssh,否则使用paramiko。...localdocker是非基于ssh连接方式,winrm是连接windows插件 ansible_connection=ssh ansible_ssh_private_key_file 指定密钥认证

    47820

    python paramiko模块简介

    python paramiko模块简介 一:简介     paramiko是python语言写一个模块,遵循SSH2协议,支持以加密认证方式,进行远程服务器连接。     ...由于使用python这样能够跨平台运行语言,所以所有python支持平台,Linux, Solaris, BSD, MacOS X, Windows等,paramiko都可以支持,因此,如果需要使用...举个常见例子,现有这样需求:需要使用windows客户端,远程连接到Linux服务器,查看上面的日志状态,大家通常使用方法会是: 1:telnet 2:PUTTY 3:WinSCP 4:XManager...使用paramiko可以很好解决以上问题,比起前面的方法,它仅需要在本地上安装相应软件(python以及PyCrypto),对远程服务器没有配置要求,对于连接多台服务器,进行复杂连接操作特别有帮助...连接远程主机地址端口 t=paramiko.Transport((ip,port)) #设置登录名密码 t.connect(username=username,password=password)

    1K10
    领券