admin管理员组文章数量:1582014
- 目标:使用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")
版权声明:本文标题:使用Python远程控制Linux电脑的关机 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1727890025a1136282.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论