通过Python脚本在树莓派上启动SSH会话

问题描述:

我正在寻找在python中创建脚本来启动与服务器的SSH会话。我知道它必须是一个简单的过程,我不知道从哪里开始。我的最终计划是将这个脚本自动运行在启动时运行。我甚至不知道python是最好的方法,我只是知道它是预装在pi的raspbain上。通过Python脚本在树莓派上启动SSH会话

+2

这将是一个在shellcript中的单线程。 – sobek

+1

可能的重复[如何使用蟒蛇ssh连接?](http://*.com/questions/6188970/how-to-make-a-ssh-connection-with-python) –

+0

@SufiyanGhori我不同意,虽然这个主题可能会提出这个问题,但OP没有具体询问Python。 – sobek

一个简单的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连接在一段时间不活动后会自动关闭)。

+0

@downvoter请发表评论... – sobek

+0

虽然这个链接可能回答这个问题,但最好在这里包含答案的重要部分,并提供参考链接。如果链接页面更改,则仅链接答案可能会失效。 - [来自评论](/评论/低质量/职位/ 14254570) –

+1

@EliSadoff足够公平,编辑。 – sobek