Raspbmc: SSH-Zugiff von externen IP-Adressen erlauben
Wenn Sie Ihren Raspberry Pi mit Raspbmc betreiben und übers Internet auf den SSH-Daemon zugreifen wollen, müssen Sie auf Ihrem Router das sogenannte Portforwarding für den TCP-Port 22 einrichten und die Firewall iptables von Raspbmc anpassen. Diese verbietet standardmäßig alle Zugriffe welche nicht aus dem eigenen lokalen Subnetzwerk erfolgen. In der folgenden Anleitung möchte ich Ihnen zeigen, wie Sie die Firewall so konfigurieren, dass Sie auch von einer externen IP-Adresse auf den SSH-Daemon zugreifen können.
Hinweis: Bevor Sie den SSH-Zugang von externen IP-Adressen erlauben, sollten Sie unbedingt das Standard-Passwort für den Benutzer pi ändern.
Nachdem Sie das Portforwarding auf Ihrem Router eingerichtet haben, können Sie mit dem folgenden Befehl unter Raspbmc eine neue Firewall-Regel erstellen, welche den Zugriff von externen IP-Adressen erlaubt.
pi@raspbmc:~$ sudo iptables -I INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
Ob die neue Firewall-Regel erstellt wurde und welche sonstigen Regeln existieren können Sie mit dem folgenden Befehl überprüfen.
pi@raspbmc:~$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT all -- 192.168.10.0/24 anywhere
DROP all -- anywhere anywhere
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT all -- 192.168.10.0/24 anywhere
DROP all -- anywhere anywhere
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Jetzt sollten Sie überprüfen ob Sie von einer externen IP-Adresse auf den SSH-Daemon zugreifen können. Funktioniert der Zugriff, müssen Sie die Firewall-Regel noch dauerhaft eintragen. Andernfalls können Sie nach dem nächsten Neustart keine Verbindung mehr aufbauen. Dazu öffnen Sie die Konfigurationsdatei /etc/network/if-up.d/secure-rmc mit einem Editor.
pi@raspbmc:~$ sudo vi /etc/network/if-up.d/secure-rmc
Am Ende der Datei sollten Sie den folgenden Abschnitt vorfinden.
if [ "$IFACE" != "lo" ]; then
NETMASK=$(get_subnet $IFACE)
iptables -A INPUT -s $NETMASK -i $IFACE -j ACCEPT
iptables -A INPUT -i $IFACE -j DROP
fi
NETMASK=$(get_subnet $IFACE)
iptables -A INPUT -s $NETMASK -i $IFACE -j ACCEPT
iptables -A INPUT -i $IFACE -j DROP
fi
Fügen Sie wie im folgenden Listing zu sehen die bereits oben verwendete Firewall-Regel ein. Beachten Sie dabei, dass die Firewall-Regel vor der Drop-Regel stehen muss.
if [ "$IFACE" != "lo" ]; then
NETMASK=$(get_subnet $IFACE)
iptables -A INPUT -s $NETMASK -i $IFACE -j ACCEPT
iptables -A INPUT -i $IFACE -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -i $IFACE -j DROP
fi
NETMASK=$(get_subnet $IFACE)
iptables -A INPUT -s $NETMASK -i $IFACE -j ACCEPT
iptables -A INPUT -i $IFACE -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -i $IFACE -j DROP
fi
Für einen abschließenden Test sollten Sie einen Neustart von Raspbmc durchführen und im Anschluss eine erneut SSH-Verbindung aufbauen.
pi@raspbmc:~$ sudo shutdown -r now
Dieser Eintrag wurde am 23.02.2013 erstellt und zuletzt am 06.04.2013 bearbeitet.
Direkter Link zu dieser Seite: http://www.gtkdb.de/index_36_2108.html
[ Zur Startseite ] [ Zur Kategorie ]
© 2004-2021 by Georg Kainzbauer