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

如何通过Linux终端使用python脚本关闭所有PC(Linux)(都启用了ssh且用户名和密码相同)

要通过Linux终端使用Python脚本关闭所有PC(Linux),可以按照以下步骤进行操作:

  1. 编写Python脚本:创建一个新的文本文件,使用任何文本编辑器,将以下代码粘贴到文件中并保存为shutdown_all.py
代码语言:txt
复制
import paramiko

# 定义要连接的主机列表
hosts = ['host1', 'host2', 'host3']  # 替换为实际的主机名或IP地址

# 定义SSH连接的用户名和密码
username = 'your_username'  # 替换为实际的用户名
password = 'your_password'  # 替换为实际的密码

# 遍历主机列表,连接并执行关机命令
for host in hosts:
    try:
        # 创建SSH客户端对象
        client = paramiko.SSHClient()
        client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

        # 连接主机
        client.connect(host, username=username, password=password)

        # 执行关机命令
        stdin, stdout, stderr = client.exec_command('sudo shutdown -h now')

        # 打印执行结果
        print(f"关机命令已发送至主机 {host}")
    except Exception as e:
        print(f"无法连接或执行关机命令至主机 {host},错误信息:{str(e)}")
    finally:
        # 关闭SSH连接
        client.close()
  1. 安装paramiko库:在Linux终端中执行以下命令安装paramiko库。
代码语言:txt
复制
pip install paramiko
  1. 运行Python脚本:在Linux终端中执行以下命令运行Python脚本。
代码语言:txt
复制
python shutdown_all.py

脚本将遍历定义的主机列表,使用SSH连接到每个主机,并执行关机命令(sudo shutdown -h now)。如果连接或执行命令失败,将打印相应的错误信息。

请注意,为了使脚本正常工作,需要确保以下条件满足:

  • 所有PC(Linux)已启用SSH,并且可以通过用户名和密码进行身份验证。
  • hosts列表中指定了正确的主机名或IP地址。
  • 在脚本中替换usernamepassword为实际的用户名和密码。

此外,为了确保安全性,建议在实际使用中使用SSH密钥进行身份验证,而不是密码。

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

相关·内容

用英伟达Jetson Nano运行PyTorch & Fast.ai丨手把手教程+第三方工具

本攻略仅适用于Python 3,如果你没有Linux经验,不知道如何使用SSH,不知道IP网络的原理或者IP地址是什么,不建议用本攻略来安装。...7、能插Micro SD卡的PC,不能插SD卡的话你还需要准备读卡器。 8、可以创建SSH终端PC软件,以及可以使用SSH传输文件的软件。...2、用PC终端程序打开与Jetson Nano的SSH会话。 3、用文件传输软件把之前下载的zip文件传到Nano的用户主目录下。 4、通过SSH把你的PSNano的IP地址连起来。...所以现在,关闭所有终端SSH会话等,从图形界面重启Nano。重启完了就从图形界面打开终端,然后: 1、确保您下载的jupyter_notebook_config.py文件位于Nano的主目录中。...好了,现在你可以运行PyTorchFast.ai了。 但如果你像我一样,你不需要在Nano上使用图形界面,并且想把所有内存拿来跑程序的话,就接着往下看。

1.9K21

基于NXP i.MX28 MPU的疫情监控平台1-交叉编译环境搭建

4.编译第一个ARM Linux程序——Hello World 有了交叉编译工具,PC平台的gcc使用方法一样,就可以直接编译第一个程序了。...我使用的是picocom,指定波特率115200串口号: sudo picocom -b 115200 /dev/ttyUSB0 开发板Linux系统用户名密码都是root 登录进去之后,U盘默认挂载在...,需要输入用户名密码 scp local_file remote_ip:remote_folder #复制本地文件到远程文件,未指定用户名,需要输入用户名密码 scp local_file remote_ip...SSH登录开发板 如果能传输成功,说明网络是通畅的。那么还可以使用SSH方式登录开发板,使用串口终端的效果是完全一样的。...ssh user_name@remot_ip 如:ssh root@192.168.1.136 ? ssh登录开发板这样,使用一根网线就完成了终端和文件传输的功能,就不用USB-TTL模块了。 9.

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

    本文将讲解如何在Lighthouse等云服务器上通过display、Python、Matplotlib等工具查看绘制各类图表。...重置密码 Lighthouse实例默认仅能从腾讯云控制台免密登录(本质是使用了默认密钥),为了可以后续通过SSH命令进行代理访问,最方便的方法是通过密码登录。...我们需要为我们的实例重置密码,可以在控制台的实例详情页面完成此类操作。 我们通过“指定用户名”更新lighthouse用户的密码,即可。 l4.png 注意:此步骤需要重启实例。...0x02 SSH X11连接 相信大家都会使用SSH客户端连接Linux远程主机,然后通过命令行CLI——通常是shell——来与主机进行交互。...并且我们的三个子图对齐y轴(通过sharey参数),x轴定义域相同,可以更加直观地比较不同初相位阻尼所带来地影响,程序运行后,会直接弹出绘图窗口,显示绘制结果: m2-1603423011210.

    9.8K4617

    Hadoop,zookeeper,HBase,Spack集群环境搭建【面试+工作】

    本文主要讲了以下内容: Linux系统的一些基础配置 安装jdk 配置SSH免登陆 hadoop的安装配置 zookeeper集群的安装配置 hbase的安装配置 spark的安装配置 1 使用Vmware...安装Linux系统 这个很easy,软件操作步骤请自行搜索,我安装的ubuntu系统,三个主机的名称分别是master、slave1、slave2,用户名统一都是trigl,后面设置ssh免登录需要用户名相同的否则就会出错...这是由于新装的系统没有ssh服务,使用下面命令下载安装: ?...对slave1slave2做相同操作,更改用户组以后对该目录就有了所有权限,后续输入命令不再需要加sudo了 9 安装jdk hadoop等的搭建都依赖于jdk,所以需要先安装jdk 1、到官网下载...如果没有让输入密码成功切换到slave1的终端,说明配置成功,验证连接slave2类似 2016.11.25更新:注意如果是在Centos系统下还需要更改文件权限 ?

    1.3K20

    ssh配置命令_ssh config配置

    用户组管理 a.用户组添加 b.用户组修改 c.删除用户组 三.网络设置 扩展:创建快捷方式 ==四.ssh服务== 1.远程终端工具 2.基于ssh协议,通过其他软件进行远程文件传输 Linux_day05...#passwd 用户名 Linux不允许没有密码的用户登陆到系统,因此前面创建的用户目前处于锁定状态,需要设置密码之后才能登陆。...远程文件传输 ssh服务使用的端口号:默认为22(可以通过配置文件修改) ssh服务的服务名为sshd ---- 注意: 端口号的范围:0-65535(2^16) 且不能使用别的服务已经占用的端口号...ip地址,在linux命令行使用命令ifconfig可以查 返回windows命令行测试服务器ip的连通性,使用命令ping 确定IP连通性正常后,可以进入终端工具进行服务器远程连接 具体操作参考下文:...Xshell如何远程连接Linux服务器-xshellcn 2.基于ssh协议,通过其他软件进行远程文件传输 可以使用软件filezilla,同样是先连接服务器 发布者:全栈程序员栈长,转载请注明出处

    5.4K40

    一种跳板机的实现思路

    方案,使用本文所搭建的跳板机将不会存储任何Linux服务器的账号、密码、密钥等信息,杜绝了信息泄露的可能。...session这个模块用来定义用户登录前的,及用户退出后所要进行的操作,如:登录连接信息、用户数据的打开与关闭、挂载文件系统等。password使用用户信息来更新,如:修改用户密码。...图中的jmp-socket则提供基于web的Linux服务器操作终端,从而让用户不使用ssh客户端也能够方便地登录服务器。...MySQL终端Redis终端仅支持部署在Linux服务器上的MySQLRedis。...6.2 安全可靠,容易审计本文的最大特点就是在目标服务器上使用了pam机制,通过jmp.so接管多个服务的身份识别权限认证,从而做到了在不修改标准命令的基础上,统一接管权限,统一管控。

    1.4K40

    实现在外网SSH远程访问内网树莓派的详细教程

    SSH 到你的树莓派 现在您已经启用了 SSH 并找到了您的 IP 地址,您可以继续从任何其他计算机通过 SSH 连接到您的 Raspberry Pi。您还需要树莓派的用户名密码。...默认用户名密码是: 用户名:pi 密码:raspberry 如果您更改了默认密码,请使用密码而不是上述密码。理想情况下,您必须更改默认密码。...在过去,恶意软件感染了数千台使用默认用户名密码的Raspberry Pi。 在要通过 SSH 连接到 Pi 的计算机上打开终端(在 Mac Linux 上),然后键入以下命令。...提示输入登录用户名: pi 输入密码(默认为:raspberry ) 现在,输入密码并按回车键。 通过SSH登录成功。 MacLinux用户: 在这里,使用您在上一步中找到的 IP 地址。...此外,您还可以设置 SSH 密钥,这样您就不必每次通过 SSH 登录时输入密码,但那是完全不同的主题。 转载自cpolar极点云文章:无公网IP,从公网SSH远程访问家中的树莓派

    1.1K41

    如何在局域网外SSH远程访问连接到家里的树莓派?

    SSH 到你的树莓派 现在您已经启用了 SSH 并找到了您的 IP 地址,您可以继续从任何其他计算机通过 SSH 连接到您的 Raspberry Pi。您还需要树莓派的用户名密码。...默认用户名密码是: 用户名:pi 密码:raspberry 如果您更改了默认密码,请使用密码而不是上述密码。理想情况下,您必须更改默认密码。...在过去,恶意软件感染了数千台使用默认用户名密码的Raspberry Pi。 在要通过 SSH 连接到 Pi 的计算机上打开终端(在 Mac Linux 上),然后键入以下命令。...提示输入登录用户名: pi 输入密码(默认为:raspberry ) 现在,输入密码并按回车键。 通过SSH登录成功。 MacLinux用户: 在这里,使用您在上一步中找到的 IP 地址。...此外,您还可以设置 SSH 密钥,这样您就不必每次通过 SSH 登录时输入密码,但那是完全不同的主题。 转载自cpolar极点云文章:如何在局域网外SSH远程访问连接到家里的树莓派?]

    58141

    如何与深度学习服务器优雅的交互?

    第一行黄色的是小夕的用户名、电脑名、当前目录。小夕设置的命令就是sshdlnlp,敲上这个命令直接进入服务器! 实现这个非常简单,分两步: 首先, 将你的登录命令写入你的pc端的bash启动脚本中。...PC端登录试试吧,是不是连输入密码省掉啦。...比如就像这样: (当然别忘在代码里将训练的summary写到某个文件里) 然后就可以挂上这个脚本去睡觉啦~睡到天亮发现各个最优参数找到了,超级开心有木有。...即通过ssh隧道来将服务器端的8888端口号映射到本地(PC端)的某个端口(如1234): 这时就可以在PC端的浏览器 http://localhost:1234 直接访问服务器上的jupyter notebook...emmm事先说明,非必要时刻请勿频繁使用哦: 使用linux中的run-one命令,这个命令可以保证同一条命令最多同时运行一个。

    2.7K90

    WSL(win下Liunx子系统安装+简易配置)

    这里的话就是再看看 按照推测应该是SDN在国内,快的很 打开code,自动提示 安装 启动 初始化中 输入用户名字,然后二次密码 这里因为是重装过系统,所以是这样的版本 这里在安装这个终端软件 软件不大...SSH sudo ps -e |grep ssh sudo apt-get install openssh-server 也不知道ifconfig咋了,割了被 安装一下吧 然后看这个ip,#端口号22我本机被占用了...,这里改成2222 Port 2222 # 这两行允许了 root 账户密码登录 PermitRootLogin yes PasswordAuthentication yes root@DESKTOP-V0GV2BC...utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-5&spm=1001.2101.3001.4242 ---- 配置Linux...子系统开机自 新建ubuntu2004.vbs文件,输入以下内容,保存 Ubuntu-20.04可以换成自己Linux子系统的名字版本号 Set ws = WScript.CreateObject

    78231

    网工Python之路之paramiko 模块实验(二)循环遍历

    首先咱们看下思科的实验: 平台工具: 实验平台:Linux Centos7 使用工具:EVE-ng、python 3.6.8 实验拓扑: 注意: 书中使用了 192.168.2.0/24 ,我这里才有...模块 input() 函数实现交互式的 SSH 用户名密码输入。...在实验过程中,python 脚本建 vlan ,然后咱们要重复实验,就得手工把 vlan 删掉,25个vlan 操作有点累哈,其实同样可以写个脚本把 建的 VLAN 给删除掉。...模块 input() 函数实现交互式的 SSH 用户名密码输入。...在实验过程中,python 脚本建 vlan ,然后咱们要重复实验,就得手工把 vlan 删掉,25个vlan 操作有点累哈,其实同样可以写个脚本把 建的 VLAN 给删除掉。

    96210

    SSH远程连接服务安装与介绍

    #关闭 #chkconfig ssh on/off # Centos自服务 #systemctl enable/disable sshd...实验环境: 客户机:172.16.142.4 远端主机:172.16.142.5 Step1-修改配置文件(远端主机) 要使ssh既能够通过证书免密码登陆,又不影响通过用户名口令登陆,需要对远端主机ssh...地址; -6:强制使用IPv6地址; -A:开启认证代理连接转发功能; -a:关闭认证代理连接转发功能; -b:使用本机指定地址作为对应连接的源ip地址 #(代理转发使用) -C:请求压缩所有数据; -...您的所有活动均被监测报告."> /etc/issue echo "Authorized uses only. 您的所有活动均被监测报告....云服务器 SSH-KEY公匙/密匙登录 生成公匙密匙: #配置config文件,详细请参考从本地Linux机器登录到Linux云服务器(无公网IP)中的STEP1 /etc/ssh/ssh_config

    2.4K20

    19 张图详解 Rsync 远程同步

    不同于 cp 或 scp 的一点是,使用 rsync 命令备份数据时,不会直接覆盖以前的数据(如果数据已经存在),而是先判断已经存在的数据新数据的差异,只有数据不同时才会把不相同的部分覆盖。...可以使用 rcp、rsh、ssh 等方式来配合传输文件(rsync 本身不对数据加密)。 可以通过 socket(进程方式)传输文件和数据(服务端客户端)。...backuper为用户名,abc123为密码。...ssh 协议和 rsync 协议的区别在于,rsync 协议在使用时需要额外配置,增加了工作量,但优势是更加安全;反之,ssh 协议使用方便,无需进行配置,但有泄漏服务器密码的风险。...在另外一个终端编写触发式同步脚本(注意,脚本名不可包含 rsync 字符串,否则脚本可能不生效)。

    3K20

    Linux权限维持|内网渗透学习(十二)

    Linux权限维持|内网渗透学习(十二) 都是一些偷袭留后门的小技巧, 有哪些内容的话看目录吧 SSH 后门 软链接sshd 输入任意密码就可以root用户权限登陆﹐如果root用户被禁止登陆时﹐可以利用其他存在的用户身份登陆...源端口, 如果是19526就执行sh给个shell 其中x00x00LF是19526的大端形式, 便于传输处理, 如果想修改源端口, 可以用python的struct标准库实现 ssh key 生成一个公钥...通过上面修改之后当进行ssh链接或者su切换用户, 在输入密码的时候, 不论正确错误都会被记录到log文件中, 从而获取管理员的更多账号密码 ssh隐身登录 查看登录状态记录 w 记录着当前打开的连接的状态...setgid: 该权限只对目录有效, 目录被设置该位后, 任何用户在此目录下创建的文件具有该目录所属的组相同的组 #include void main(int argc,...cron服务的日志文件 /etc/crontab cron服务配置文件 vim 后门 前提条件: VIM安装了python扩展, 默认安装的话都有python扩展 脚本可以放到python

    1.1K32

    【5分钟玩转Lighthouse】Win10远程连接同步代码(附视频)

    本文将详细地从零开始,介绍如何从Windows10操作系统下远程连接Lighthouse等云服务器,并通过VSCode/SFTP等工具远程编辑执行Python程序。...我们将在管理页面为我们的Lighthouse主机重置密码,以方便后续的SSH登录。 重置密码 Lighthouse实例默认仅能从腾讯云控制台免密登录,其本质是使用了默认密钥。...不过,为了咱们后续通过SSH命令进行代理访问,最方便的方法是通过密码登录。 我们需要为我们的实例重置密码,可以在控制台的实例详情页面完成此类操作。我们更新系统默认用户名ubuntu用户的密码。...在我们公有云上的云服务器交互的场景中,所有信息通过公网传输,通过SFTP来加强访问安全性几乎是个必选项。...默认情况下,SFTP通过SSH协议来认证双方身份以及建立安全连接,所以能在SSH协议中使用的认证方法也都可以在SFTP中适用,如密码或密钥。

    10.9K5117

    SSH 尝试攻击是什么样子的

    最终我选用了 Cowrie,这是一个基于 PythonSSH / Telnet 模拟器,它基于 Kippo 项目的早先的工作。...我被它吸引,有这几个原因:它有很多支持文章,它是用 Python 编写的,而且 Cowrie 还使用了 Kippo 的轻量级可视化软件 Kippo-Graph。...于是,我启动了蜜罐软件,并在端口 22 上设置了 SSH 模拟器,以允许用户名 root admin 分别使用登录密码 changeme 1234567。...2 月 24 日:荷兰的北荷兰哈勒姆的一个 IP,对用户名 root 密码 changeme 共尝试了 15 次。它模仿了与上一个攻击者相同的行为。...它奇怪地使用了 raspberryraspberry993311 这个密码。攻击者立即上传了一个 bash 脚本并尝试运行它。

    1.8K30

    Shell学习总结

    vimrc)  如果没有,可以自己创建             ③全局配置文件(vim自带,/etc/vimrc)         7.2异常退出             在编辑文件后没有正常退出,突然关闭终端或断电...        1.3设置密码             前面创建的用户处于锁定状态,需要设置密码后才能登陆计算机。             ...;切换root需要输入密码)         提示:所有跟用户操作的命令,(除passwd外,)需要root才能执行。     ...组的增加,删除修改实际上就是对/etc/group文件的更新         文件结构:         用户组名:密码:用户组ID:组内用户名          密码x表示占位符         ...lsblk -f  查看系统的分区挂载的情况         7.7.2如何增加一块硬盘?

    62130

    Linux学习

    vimrc)  如果没有,可以自己创建             ③全局配置文件(vim自带,/etc/vimrc)         7.2异常退出             在编辑文件后没有正常退出,突然关闭终端或断电...        1.3设置密码             前面创建的用户处于锁定状态,需要设置密码后才能登陆计算机。             ...;切换root需要输入密码)         提示:所有跟用户操作的命令,(除passwd外,)需要root才能执行。     ...组的增加,删除修改实际上就是对/etc/group文件的更新         文件结构:         用户组名:密码:用户组ID:组内用户名          密码x表示占位符         ...lsblk -f  查看系统的分区挂载的情况         7.7.2如何增加一块硬盘?

    2.2K40

    AI开发软件环境

    当前主流的操作系统支持shell编程: Windows PowerShell的诞生就是要提供功能相当于UNIX系统的命令行壳程序(例如:sh、bash或csh),同时也内置脚本语言以及辅助脚本程序的工具...,根据的PC的CPU、GPU显示器配置来下载最佳的游戏设置 手动查找NVIDIA:https://www.nvidia.cn/Download/index.aspx?...)找到.condarc文件,替换清华源地址 vim / home/wlsh/ .condarc Jupyter Lab 本地使用 对于windows/macOS/ubuntu有图形界面的系统 可以通过菜单栏点开...Aanaconda的图标,得到上面的界面,然后点开Jupyter Lab 可以在终端直接输入jupyter lab 即可直接打开 服务器使用 step1: 通过IP/use_id/port连接集群...ps -ef | grep jupyter lab Kill -9 XXXX Vscode配置 推荐插件: 简体中文=>汉化界面 Python =>管理切换python环境 Remote-SSH

    22510

    《书生大模型实战营第3期》入门岛 学习笔记与作业:Linux 基础知识

    示例: 在示例中使用了echo命令,这python中的print一样,用来打印内容,这里使用管道符>将InternLM打印到file文件中,常用的管道符还有<|,比如我们可以使用grep命令来查看python...执行代码等 终端(Terminal, 最轻量级):主要进行命令行操作,或者运行脚本简单程序 VSCode:网页中集成的VSCode,也可以在本地VSCode中通过SSH连接远程开发,下面就会讲如何配置远程连接...2.2 如何使用SSH远程连接开发机? 2.2.1 使用密码进行SSH远程连接 首先我们使用输入密码的方式进行SSH远程连接,后面我们会讲如何配置免密登录。...2.2.2 配置SSH密钥进行SSH远程连接(可选) 但是在我们开发学习的时候,每次远程输入密码比较麻烦,我们可以设置SSH key来跳过输入密码这一步骤,在ssh命令中我们可以使用ssh-keygen...命令来生成密钥 如果大家计算机的用户名是中文的,InternStudio会识别不了,这种情况就需要用密码来登录SSH,不过不影响使用,大家不用担心。

    9610
    领券