如何远程关闭基于Linux的计算机?

时间:2017-04-01 09:24:12

标签: linux python-3.x

我对网络有完全基本的了解。我知道ssh隧道或连接,但我不知道如何应用或使用它。我正在设计一个安全应用程序,我需要帮助克服这个障碍。

3 个答案:

答案 0 :(得分:0)

在一台计算机上创建tcp服务器,在另一台计算机上创建tcp客户端。

将字符串“shutdown”从客户端发送到服务器。

以这样的方式编写tcp服务器,使其在收到字符串“shutdown”时关闭机器。

答案 1 :(得分:0)

您可以在需要关闭的服务器上创建有权执行操作的用户。然后添加密钥对,以便客户端无需密码即可访问此帐户以执行实际关闭。

现在你可以关闭ssh了。执行此操作的基本方法是:

ssh -t <options> <user>@<hostname> sudo poweroff

via

看起来你想在python程序中执行此操作,所以现在需要通过python调用它。一个简单的方法就是这个

   commands.getstatusoutput("ssh machine 1 'your script'")

via请注意,该问题还有更多选项,有关此问题的更多问题可以找到)

答案 2 :(得分:0)

我编写了一个命令来通过ssh挂起或关闭远程主机。这可以用于在没有交互式会话的情况下暂停/关闭远程计算机,但是不能使终端保持忙碌。您需要授予远程用户权限,以便在没有密码的情况下使用sudo关闭/暂停。此外,本地和远程计算机应设置为SSH而无需交互式登录。该脚本对于挂起机器更有用,因为挂起的机器不会断开终端。

local_user@hostname:~$ ssh remote_user@remote_host "screen -d -m sudo pm-suspend"

来源:कार्यशाला (Kāryaśālā)