使用Python远程控制Linux电脑的关机

  • 目标:使用Python远程控制Linux电脑的关机
  • 系统配置需求:

1。需要安装SSH Client/Server tool,Ubuntu安装命令如下

$ sudo apt-get install openssh-client

$ sudo apt-get install openssh-server

2。 启动SSH Server,命令如下,

$ sudo /etc/init.d/ssh start

3。控制主机需要安装Python (推荐Python3.5版本以上),并安装Python包“paramiko”, 安装命令如下,

$ pip3 install paramiko

4。控制主机与被控制机器在同一局域网内

  • 手动验证:

1。打开控制主机Terminal,输入ssh连接命令如下(假设被控制机器IP地址是192.168.3.6), 系统会要求输入用户名和密码等信息,请按照提示填入正确信息;

$ ssh 192.168.3.6

2。成功连接到目标电脑后,使用如下命令关掉被控制机器,命令如下,被控制电脑将执行关机动作。

$ sudo shutdown -h now
(输入被控制电脑密码)
  • 使用Python远程控制Linux电脑的关机,示例代码如下,将下面代码保存为“remote_power_off.py”,执行命令“python3 remote_power_off.py”
# -*- coding:utf-8 -*- 
import paramiko 

host = '192.168.3.6'
user = 'test001'
password = '××××××××'

def ssh_exec_command(command): 
    try: 
        ssh_client = paramiko.SSHClient() 
        ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 
        ssh_client.connect(host, 22, user, password) 
        
        print("command: " + command)
        std_in, std_out, std_err = ssh_client.exec_command(command, get_pty=True) 
        std_in.write(password + '\n')
        
        for line in std_out: 
            print(line.strip("\n"))
        for line in std_err: 
            print(line.strip("\n")) 
            
        ssh_client.close() 
    except Exception as e: 
        print("error: " + str(e)) 
        
if __name__ == '__main__': 
    #ssh_exec_command("ls -l")
    ssh_exec_command("sudo shutdown -h now")

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值