Wenn Sie Firewalls erhalten möchte nur um mit ssh TMate
Im Folgenden werden die Befehle versuchen, wie es für einen Remote-Setup
benötigt
zu verwenden:
`
#!/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
Haben Sie den obigen Code auf dem Raspberry Pi mit dem Job Benutzer cron mit @reboot {{ user }} bash {{ location of script }}
Login http://script.google.com/ Google und gehen, wenn es Eingang dieser Code
`
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]);
}
}
Jetzt auf dem Google-Skript unter Published Hit als Web-App bereitstellen, erlauben Sie sogar anonym und jetzt haben Sie Ihre Google-Skript-URL.
Hinweise:
- Alles, was mit {{Sachen}} eingegeben werden, indem Sie
- Wenn die Raspberry Pi Neustarts Google wird die alte ssh Lage mit dem neuen
überschreiben Alle Sachen, die jenseits von tmate sind, sind nur, um eine Verbindung wiederherzustellen, falls Energie verloren geht oder neu gestartet werden muss