Jump to content


Photo

start autossh bij booten

autossh ssh tunnel booten startup

  • Please log in to reply
5 replies to this topic

#1 ruedli

  • Member
  • 8 posts

0
Neutral

Posted 25 January 2015 - 13:40

Ik probeer bij het booten een autossh commando te starten.

 

autossh heb ik geinstalleerd via een .ipk bestand en werkt.

 

Ik heb geprobeerd dit te starten door

- een script te plaatsen in init.d met een symbolic link in rc3.d genaam S70sshtunnel

- een commando in /etc/rc.local

- een gecreerde /usr/bin/enigma2_pre_start.sh

 

Het effect is telkens hetzelfde: autossh loopt, maar kan zelf niet ssh starten, wat nou juist de bedoeling is van autossh.

 

Als ik inlog als root en mijn gecreerde /usr/bin/enigma2_pre_start.sh laat draaien WERKT HET WEL.

 

Als ik met ps | grep ssh kijk na booten, zie ik WEL autossh draaien, maar hij kan geen ssh starten. Hij probeert dat elke 5 minuten, zoals te zien met een tail /var/messages:

 

Jan 25 12:16:15 vuduo2CH user.info autossh[475]: ssh child pid is 592
Jan 25 12:16:15 vuduo2CH user.info autossh[475]: ssh exited with error status 1; restarting ssh
Jan 25 12:19:43 vuduo2CH user.info autossh[475]: starting ssh (count 21)
Jan 25 12:19:43 vuduo2CH user.info autossh[475]: ssh child pid is 594
Jan 25 12:19:43 vuduo2CH user.info autossh[475]: ssh exited with error status 1; restarting ssh
Jan 25 12:28:15 vuduo2CH user.info autossh[475]: starting ssh (count 22)
Jan 25 12:28:15 vuduo2CH user.info autossh[475]: ssh child pid is 626
Jan 25 12:28:15 vuduo2CH user.info autossh[475]: ssh exited with error status 1; restarting ssh
Jan 25 12:30:13 vuduo2CH user.info autossh[633]: starting ssh (count 1)
Jan 25 12:30:13 vuduo2CH user.info autossh[633]: ssh child pid is 634
 
Hier zie je dat de bij het booten gestarte ssh met pid 475 het 22 keer probeerde, maar dat ssh telkens zegt dat de host niet klopt. (exist status 1).
 
Als ik 475 kill en het script met de hand start, loopt autossh onder pid 633 en loopt de ssh tunnel ook meteen onder pid 634...
 
root@vuduo2CH:/usr/bin# ps | grep ssh
  633 root      2092 S    /usr/bin/autossh    -p 33337 root@padtwo.mine.nu -L 800:127.0.0.1:80 -N -i /home/root/.ssh/id_rsa -M 798 -o ServerAliveInterval 60 -o ServerAliveCountMax 3 -o StrictHostKeyChecking=no -o BatchMode=yes
  634 root      3680 S    /usr/bin/ssh -p 33337 -L 800:127.0.0.1:80 -N -i /home/root/.ssh/id_rsa -L 798:127.0.0.1:798 -R 798:127.0.0.1:799 -o ServerAliveInterval 60 -o ServerAliveCountMax 3 -o StrictHostKeyChecking=no -o BatchMode=y
 
(als ik boot, draait ALLEEN autossh, de ssh kan van daaruit dus om mij niet bekende reden niet opgestart worden).
 
Voordat iemand tipt ssh bij het booten te starten: dat lukt ook niet en is de reden dat ik autossh dacht te gebruiken.
 
Mijn id_rsa is goed gesecured in de /home/root/.ssh, ik heb hem op 600 en dat zou moeten werken.
Beide autossh bij booten en met de hand gestart lopen onder root, dus dat zou het probleem niet horen te zijn.
 
De tunnel zorgt er trouwens voor dat ik mijn Nederlandse box remote kan programmeren om opnames te maken vanuit mijn box in Zwitserland. Als de tunnel loopt, werkt dat perfekt en zie ik alle timers via remote timer, door op localhost poort 800 te kijken. Programmeren lukt dan door gewoon "remote timer" op "ja" te zetten.
 
hoop dat iemand snapt waarom het script wel loopt als ik hem opstart met de hand, maar niet bij het rebooten...
 
Dit is het enigma2_pre_start.sh, daar kan weinig mis mee zijn, hij bevat nu maar één regel...
 
#!/bin/sh
/usr/bin/autossh -f -p 33337  root@padtwo.mine.nu -L 800:127.0.0.1:80 -N -i /home/root/.ssh/id_rsa -M 798 -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" -o "StrictHostKeyChecking=no" -o "BatchMode=yes"
 

 



Re: start autossh bij booten #2 MiLo

  • PLi® Core member
  • 14,055 posts

+298
Excellent

Posted 25 January 2015 - 13:43

Tijdens booten is je environment magerder dan in een interactieve shell. Goede kans dat bijvoorbeeld $HOME niet gezet is, dan kan hij je .ssh directory niet vinden.

Stuur de output van je script naar een /tmp/ file, meestal kun je dan wel zien wat er mis is.
Real musicians never die - they just decompose

Re: start autossh bij booten #3 ruedli

  • Member
  • 8 posts

0
Neutral

Posted 25 January 2015 - 16:33

Dat is een snelle respons, super en bedankt!

Ik ben nu weer iets verder, maar het werkt nog niet.

 

- autossh stuurt niets naar een logfile: ik start nu een shell met het autossh script erin en bij het starten zet ik er &>/etc/sshtunnel.log achter.

- dan verander ik in het op te starten script dat hij ssh opstart ipv. autossh en word ik iets wijzer....

Hij vindt de fingerprint van de host niet.

 

Nu kent hij die wel: hij staat natuurlijk in /home/root/.ssh/known_hosts

Interactief werkt alles.

 

De identity file kun je redirecten met -i. maar de known_hosts file niet.

 

Toen ben ik volgens de regels van ssh in /etc/ssh ssh_config en een ssh_known_hosts gaat maken, maar dat heeft geen effekt.

 

Dat komt denk ik omdat dropbearmulti daar niet kijkt...

 

De /etc/dropbear directory can wel een config lezen alleen.... Voor zover ik kan zien kan ik daar geen known_hosts locatie opgeven...

 

Blijft dus de vraag:

- hoe kan ik dropbear known hosts laten zien nu $HOME er niet is (door daar dan /home/root/.ssh/known_hosts te zetten denk ik dat het gaat lukken)

OF

- hoe kan ik alles laten draaien als $HOME er wel is...

 

(ik ben al weer een stuk of 25 reboots en pogingen verder een oplossing te vinden)

alvast bedankt...



Re: start autossh bij booten #4 MiLo

  • PLi® Core member
  • 14,055 posts

+298
Excellent

Posted 25 January 2015 - 17:33

HOME=/home/root

in 't script zetten bijvoorbeeld?
Real musicians never die - they just decompose

Re: start autossh bij booten #5 ruedli

  • Member
  • 8 posts

0
Neutral

Posted 25 January 2015 - 17:40

Weer wat reboots verder... Ik heb gezien dat $HOME inderdaad op "/" staat tijdens het booten en niet op "/home/root"

 

De user is wel root, who laat het zien, (whoami niet, waarschijnlijk door de $HOME problemen...)

 

Als ik in mijn  script een "export HOME=/home/root" regel opneem werkt alles!!!!

 

Ik ga hem nu de autossh opstarterij weer verplaatsen naar rc3.d met start, stop en restart opties.

$HOME zetten is natuurlijk wel een beetje "vies" maar ik weet geen betere oplossing. Ik zet $HOME alleen in het script voor ik autossh oproep.

Zou hem theoretisch daarna weer terug kunnen zetten, maar het script eindigt dan toch sowieso...

 

Is er een belangrijke reden om tijdens het booten $HOME niet te zetten zoals in de passwd file?

 

Iedereen bedankt voor het meedenken!!!



Re: start autossh bij booten #6 ruedli

  • Member
  • 8 posts

0
Neutral

Posted 25 January 2015 - 17:41

HOME=/home/root

in 't script zetten bijvoorbeeld?

een "kruis post" had ik dus net gedaan voor ik je post zag...





Also tagged with one or more of these keywords: autossh, ssh, tunnel, booten, startup

1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users