我希望在python中创建一个脚本,启动与服务器的SSH会话。我知道它必须是一个简单的过程,我不知道从哪里开始。我的最终计划是自动执行此脚本以在启动时运行。我甚至不确定python是最好的方式我只知道它预先加载在raspbain上为pi。
答案 0 :(得分:2)
一个简单的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。添加initscript。
在
/etc/init.d/myscript
中创建一个新脚本。vi /etc/init.d/myscript
(显然它不必被称为#34; 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作业。
创建/etc/init/myjob.conf
vi /etc/init/myjob.conf
内容如下
description "my job" start on startup task exec /path/to/my/script.sh
根据您对ssh连接的处理方式,如果需要在设备的整个正常运行时间内保持打开状态,则需要使用更多技巧(ssh连接在一段时间不活动后自动关闭)。 / p>