如何通过python脚本重新启动远程系统?

如何通过python脚本重新启动远程系统?,python,python-2.7,Python,Python 2.7,我需要每3小时从Ubuntu 10.04系统重新启动一次远程系统,因此我决定编写python脚本重新启动远程Ubuntu 10.04系统。我知道如何通过终端ssh重新启动远程系统root@192.168.1.xx。但是,我不知道如何在python脚本中实现它。*注意:*当我通过终端重新启动远程系统时,它会提示输入密码。如何在不询问密码的情况下通过python脚本重新启动所有远程系统。如果您知道,请告诉我,这对我很有帮助。如果您想在没有密码的情况下重新启动远程系统,则需要为远程系统配置SSH密钥。


我需要每3小时从Ubuntu 10.04系统重新启动一次远程系统,因此我决定编写python脚本重新启动远程Ubuntu 10.04系统。我知道如何通过终端
ssh重新启动远程系统root@192.168.1.xx
。但是,我不知道如何在python脚本中实现它。
*注意:*当我通过终端重新启动远程系统时,它会提示输入密码。如何在不询问密码的情况下通过python脚本重新启动所有远程系统。如果您知道,请告诉我,这对我很有帮助。

如果您想在没有密码的情况下重新启动远程系统,则需要为远程系统配置SSH密钥。 首先,您需要在运行python脚本的系统上创建SSH密钥

$ ssh-keygen -t rsa -P ""
然后,更改SSH密钥文件的名称

$ mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
现在,您可以将SSH密钥复制到远程系统。路径为~/.SSH/

$ scp ~/.ssh/authorized_keys user@remote_ip:~/.ssh/

工作完成了,现在您可以不用密码登录远程系统,python脚本也可以了。

您可以通过python访问ssh

paramiko可以工作吗?这里有一个使用subprocess+OpenSSH的直接方法:并且您还将禁用通过ssh密钥访问任何人的权限。。。您不应该覆盖authorized_key/authorized_key 2a添加SSH key的更好方法是使用
SSH add
实用程序。如果将密钥附加到
授权密钥
--不替换它。。。