Spezialfall Portmapper auf SSH
Posted: Fri 15. Jan 2016, 09:47
Folgende Anmerkung einen FIPBOX Benutzers möchten wir gern weitergeben.
Bitte nutzen Sie diese Anpassungen nur, wenn Sie genau diesen Anwendungsfall abdecken möchten. Der SSH Dienst der Box ist per default auch per IPv6 erreichbar. Wenn Sie den SSH-Port verlegen und auch von innen über der geänderten Port zugreifen ist diese Änderung nicht notwendig
Der Kunde möchte von innen mit dem Defaultport 22 und von außen den SSH-Port 12345 nutzen. Dazu hat der Kunde einen lokalen Portmapper
IPv6:12345 auf localhost:22 erstellt.
In diesem speziellen Fall kommt es zu dem Problem, dass beim externen Aufruf von fipedit die SSH Verbindung getrennt wird und das Script nicht komplett ausgeführt wird (da die darunterliegende Session beendet wurde).
Folgende Anpassungen beheben dieses Problem:
Bitte nutzen Sie diese Anpassungen nur, wenn Sie genau diesen Anwendungsfall abdecken möchten. Der SSH Dienst der Box ist per default auch per IPv6 erreichbar. Wenn Sie den SSH-Port verlegen und auch von innen über der geänderten Port zugreifen ist diese Änderung nicht notwendig
Der Kunde möchte von innen mit dem Defaultport 22 und von außen den SSH-Port 12345 nutzen. Dazu hat der Kunde einen lokalen Portmapper
IPv6:12345 auf localhost:22 erstellt.
In diesem speziellen Fall kommt es zu dem Problem, dass beim externen Aufruf von fipedit die SSH Verbindung getrennt wird und das Script nicht komplett ausgeführt wird (da die darunterliegende Session beendet wurde).
Folgende Anpassungen beheben dieses Problem:
Code: Select all
/bin/fipbox
----
#!/bin/bash
sudo nano /etc/fipbox
tty=$(tty | grep -o "pts.*$" | tr "/" ".")
who=$(who | grep "$tty" | cut -d "(" -f2 | cut -d ")" -f1)
if [ "$who" = "localhost" ]
then
echo "ACHTUNG! Ihre Verbindung wird nun getrennt. Sie koennen sich gleich wieder anmelden."
sudo nohup /bin/bash /usr/bin/fipbox 2>/dev/null >&1
else
sudo /usr/bin/fipbox
fi
Code: Select all
/usr/bin/fibbox
----
#!/bin/bash
sudo /usr/bin/pkill 6tunnel
sudo /usr/bin/pkill inadyn-mt
# Print the IP address
_IP=$(/bin/hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
sh /etc/rc.local