如果你只是想避開使用ssh防火牆嘗試tmate
下面是說明如何使用它進行遠程設置
需要:
`
#!/bin/bash
#if Internet connection
if [[ $(ping -W 1 -c 1 8.8.8.8) == *", 0% packet loss,"* ]];
then
echo online;
#if connection already exists
if [[ -S /tmp/tmate.sock ]];
then
echo "aready up"
else
tmate -S /tmp/tmate.sock new-session -d
fi
tmate -S /tmp/tmate.sock wait tmate-ready
ssh=$(tmate -S /tmp/tmate.sock display -p '#{tmate_ssh}')
ssh=$(sed 's~ssh ~~g' <<< $ssh)
echo $ssh
#sends ssh session to you
curl "https://script.google.com/macro/s/{{ google script location }}/exec?id={{ unique id for raspberry pi }}&ssh=$ssh" > /dev/null
else
#no Internet retry in 30 seconds
echo offline;
sleep 30s
bash {{ location of this script }}
fi
對與@reboot {{ user }} bash {{ location of script }}
登錄設置的用戶cron作業的樹莓派上面的代碼谷歌和去http://script.google.com/當輸入該代碼
`
function doGet(e) {
var id = e.parameter.id;
var ssh = e.parameter.ssh;
var ss = SpreadsheetApp.openByUrl("{{ url of google spread sheet to dump data to }}").getActiveSheet();
var lr = ss.getLastRow();
var data = ss.getRange(1,1,lr,1).getValues();
data = data.join("`").split("`");
var loc = data.indexOf(id);
if(loc != -1){
ss.getRange(loc+1,2).setValue(ssh);
}else{
ss.appendRow([id,ssh]);
}
}
現在在發佈命中部署的谷歌腳本作爲Web應用程序甚至允許匿名,現在你有你的谷歌腳本網址。
注:
- 任何與{{東西}}是你
- 是輸入端。如果樹莓派會重新啓動谷歌將覆蓋與新
老SSH位置所有超越tmate的東西只是在失去電源或需要重啓的情況下重新建立連接