通过Python脚本在树莓派上启动SSH会话
问题描述:
我正在寻找在python中创建脚本来启动与服务器的SSH会话。我知道它必须是一个简单的过程,我不知道从哪里开始。我的最终计划是将这个脚本自动运行在启动时运行。我甚至不知道python是最好的方法,我只是知道它是预装在pi的raspbain上。通过Python脚本在树莓派上启动SSH会话
答
一个简单的bash脚本会更适合这个任务。 python是可能的,但没有明显的理由让它比必要的更难。
从 write a shell script to ssh to a remote machine and execute commands:
#!/bin/bash
USERNAME=someUser
HOSTS="host1 host2 host3"
SCRIPT="pwd; ls"
for HOSTNAME in ${HOSTS} ; do
ssh -l ${USERNAME} ${HOSTNAME} "${SCRIPT}"
done
从how do i run a script at start up (askubuntu):
您将需要以下任何root权限。为了得到根,开 一个终端,运行命令
sudo su
和命令提示符将改变,表明终端 会议具有root权限“#”。
选择#1。添加启动脚本。
在
/etc/init.d/myscript
中创建一个新脚本。vi /etc/init.d/myscript
(显然它并没有被称为“的MyScript”。)在此脚本, 做任何你想做的事情。也许只是运行你提到的脚本。
#!/bin/sh /path/to/my/script.sh
使其可执行。
chmod ugo+x /etc/init.d/myscript
配置init系统在启动时运行此脚本。
update-rc.d myscript defaults
替代#2。将命令添加到/etc/rc.local
vi /etc/rc.local
通过类似以下的内容。
# This script is executed at the end of each multiuser runlevel /path/to/my/script.sh || exit 1 # Added by me exit 0
替代#3。添加一个Upstart工作。
通过类似以下的
description "my job" start on startup task exec /path/to/my/script.sh
取决于你做什么内容创建/etc/init/myjob.conf
六/etc/init/myjob.conf
ssh连接,如果需要在设备的整个运行时间内保持打开状态,则需要使用更多的技巧(ssh连接在一段时间不活动后会自动关闭)。
这将是一个在shellcript中的单线程。 – sobek
可能的重复[如何使用蟒蛇ssh连接?](http://stackoverflow.com/questions/6188970/how-to-make-a-ssh-connection-with-python) –
@SufiyanGhori我不同意,虽然这个主题可能会提出这个问题,但OP没有具体询问Python。 – sobek