首页
学习
活动
专区
工具
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

实现在外网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远程访问家中的树莓派

98441

一种跳板机的实现思路

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

1.3K40

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

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

53741

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

第一行黄色的是小夕的用户名、电脑名、当前目录。小夕设置的命令就是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

77431

网工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 给删除掉。

94210

19 张图详解 Rsync 远程同步

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

2.4K20

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

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

1K32

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

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

10.8K5117

Shell学习总结

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

60230

Linux学习

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

2.2K40

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

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

20810

vscode远程开发python_vscode版本

可是最近进所里后发现,给分配的服务器只有能使用ssh登录的终端,这让我这个被pycharm的各种功能惯坏了的人十分不爽,不能代码提示补全、不能一眼看到所有文件、不能随心所欲地debug。。。...---- 一、Mobaxterm 解决了普通终端不能方便地看到文件结构并进行传输的问题,并且美观性提高了很多,我们可以直接新建SSH会话,输入IP用户名密码即可。...左侧列出了所有文件,可以拖拽进行文件上传。右侧为普通终端。 二、Vscode 微软为了方便远程开发,近几年推出了组件Remote – SSH。...效果如下:这是在我windows笔记本下的vscode软件,左侧文件列表终端链接在了远程的linux服务器上,并且在本地可以直接查看并修改远程的python代码,同时还能使用vscode本身一些插件所带来的代码补全...Pycharm远程开发有两种方式,一种是mobaxterm一样打开一个服务器文件列表,可以方便文件传输。使用本地的环境调试代码,再通过下方的SSH会话用远程运行程序。

1.9K61
领券