Wie kann ich SSH so einrichten, dass es auf mein lokales Netzwerk beschränkt ist?

33

Ich versuche, meinen neuen Laptop mit 11.10 über meinen Router mithilfe von SSH mit meinem alten Laptop mit 8.04 zu verbinden.

Diese Frage wird auf ubuntuforums hier gestellt und beantwortet:

http://ubuntuforums.org/showthread.php?t=1648965

Ich dachte, es wäre hilfreich, hier eine endgültigere Antwort zu haben.

Hinweis: Ich musste zuerst openssh-server auf dem Laptop installieren, mit dem ich mich verbinden wollte, und den SSH-Port in meiner Firewall mit firestarter öffnen.

klenwell
quelle
Kannst du uns bitte sagen, was nicht "definitiv" genug für die Antwort von slooow auf diesen Thread ist? Ansonsten scheint Ihre Frage nicht eindeutig zu sein.
d_inevitable
@d_inevitable Zum einen ist es nicht die einzige Antwort, und es wird nicht anders als die richtige angezeigt. Es ist die, die ich gewählt hätte, aber aus diesem Grund hielt ich es für nützlich, diese Frage zu migrieren. Es kann auch hilfreich sein, allgemeine Anweisungen oder einen hilfreichen Link zum Konfigurieren von SSH zwischen zwei lokalen Computern anzugeben.
Klenwell

Antworten:

46

Sie können den Zugriff auf Ihren SSH-Server auf viele Arten einschränken.

IMO ist es am wichtigsten, ssh-Schlüssel zu verwenden und die Kennwortauthentifizierung zu deaktivieren.

Einzelheiten finden Sie auf den folgenden Wiki-Seiten

https://help.ubuntu.com/community/SSH/OpenSSH/Keys

https://help.ubuntu.com/community/SSH/OpenSSH/Configuring#Disable_Password_Authentication

Sie können den Zugriff auf ein bestimmtes Subnetz auf verschiedene Arten einschränken. Ich gehe mal davon aus dein ssh server ist im subnetz 192.168.0.0/16 mit einer ip adresse von 192.168.0.10, passe das entsprechend an;)

Router

Eine Verteidigungslinie ist die Verwendung eines Routers. Stellen Sie sicher, dass Sie UPnP deaktivieren und keine Portweiterleitung zulassen.

SSH-Konfiguration

Sie können mehrere Optionen in einstellen /etc/ssh/sshd_config. Eine davon ist die Abhöradresse. Wenn Sie eine Abhöradresse in Ihrem Subnetz festgelegt haben. Eine private IP-Adresse kann nicht über das Internet weitergeleitet werden.

http://compnetworking.about.com/od/workingwithipaddresses/f/privateipaddr.htm

ListenAddress 192.168.0.10

Sie können auch die AllowUsers verwenden

AllowUsers [email protected]/16

In gewisser Hinsicht können Sie auch den Port ändern

Port 1234

Siehe http://manpages.ubuntu.com/manpages/precise/man5/sshd_config.5.html

TCP-Wrapper

Wie im Forenbeitrag beschrieben, können Sie TCP Wrapper verwenden. TCP-Wrapper verwendet 2 Dateien /etc/hosts.allowund/etc/hosts.deny

Bearbeiten /etc/hosts.allowund fügen Sie Ihr Subnetz hinzu

sshd : 192.168.0.

Bearbeiten /etc/hosts.denyund alle ablehnen

ALL : ALL

Siehe auch http://ubuntu-tutorials.com/2007/09/02/network-security-with-tcpwrappers-hostsallow-and-hostsdeny/

Firewall

Zuletzt können Sie Ihren Server durch eine Firewall schützen. Sie können iptables, ufw oder gufw verwenden.

iptables

sudo iptables -I INPUT -p tcp --dport 22 -s 192.168.0.0/16 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j REJECT

Bitte verwenden Sie DROP nicht in iptables, siehe http://www.chiark.greenend.org.uk/~peterb/network/drop-vs-reject

ufw

sudo ufw allow from 192.168.0.0/16 to any port 22

gufw hat eine grafische Oberfläche

GUFW

Siehe https://help.ubuntu.com/community/UFW

https://help.ubuntu.com/community/IptablesHowTo

Panther
quelle
Einige Netzwerke verwenden 10.0.0.0 als IP-Adresse. In diesem Fall ersetzen Sie 10.0.0.0/8 durch 192.168.0.0/24, um den Bereich 10.0.0.0-10.255.255.255 zu berücksichtigen. Wenn Sie nur eine einzelne IP zulassen möchten, verwenden Sie so etwas wie 192.168.1.2/32. Eine sehr ausführliche Erklärung finden Sie unter [ serverfault.com/q/49765/51929 ‹ ( Wie funktioniert das Subnetting?)
Lekensteyn,
1
Bitte verwenden Sie DROP nicht in iptables - Siehe chiark.greenend.org.uk/~peterb/network/drop-vs-reject
Panther
Auf dieser Seite werden gefälschte IP-Adressen nicht als möglicher Grund für die Verwendung von DROP over REJECT erwähnt. Diese Antwort auf Sec.SE erklärt, warum dies nicht wirklich relevant ist (die Quellpakete sind größer als die zurückgegebenen Pakete).
Lekensteyn
@Lekensteyn - Ich habe in diesem Link keine Diskussion über gefälschte IP-Adressen gesehen. Wie Sie meinen, sind DDoS und gefälschte IP-Adressen nicht Gegenstand dieser Diskussion, und ich bin nicht davon überzeugt, dass DROP in vielen Belangen REJECT überlegen ist. DDos sind komplex und ohne Angaben zur Ursache der DDos nicht zu verteidigen. Ich habe zum Beispiel gesehen, dass WP als DDoS verwendet wird und das Problem in der richtigen Konfiguration von WP und wenig oder gar nichts mit iptables zu tun hat.
Panther
ListenAddressscheint wie die einfachste und eleganteste Lösung
code_monk
1

ssh (Secure Shell) wird verwendet, um sicher auf Daten zuzugreifen und diese zu übertragen (verwendetes RSA_KEYS-Paar). Sie haben zwei Möglichkeiten, mit ssh auf Daten zuzugreifen: 1. Befehlszeile 2. Dateibrowser

Befehlszeile: Hierfür müssen Sie nichts installieren. Die erste Aufgabe besteht darin, sich bei einem anderen Computer anzumelden.

ssh other_computer_username@other_computer_ip

Dieser Befehl fordert Sie zur Eingabe eines Kennworts auf, das dem Kennwort des anderen Computers (für einen bestimmten Benutzernamen) entspricht. Sie haben sich gerade bei der Shell eines anderen Computers angemeldet. Denken Sie, dieses Terminal ist wie Ihr Computer-Shell-Terminal. Mit der Shell können Sie alles tun, was Sie mit einem anderen Computer in Ihrem Computer tun können

Dateibrowser: Sie müssen openssh-server installieren

sudo apt-get install openssh-server

Um sich anzumelden, gehen Sie zu Datei-> ConnectToServer

Bildbeschreibung hier eingeben

Shantanu
quelle
Befehlszeilenanweisungen waren das erste, was ich versuchte. Ich konnte meinen anderen Computer mit der LAN-IP-Adresse anpingen. Aber wenn ich versuche, SSH, hängt es. Daher gehe ich davon aus, dass ich zuerst meinen anderen Computer so konfigurieren muss, dass SSH-Zugriff möglich ist.
Klenwell
stellen Sie sicher , dass Ihr Router nicht Port 22 oder ssh nicht blockiert
shantanu
Vielen Dank. Ich wusste bereits alles, was Sie erwähnt haben, aus Erfahrung, aber es war eine große Leichtigkeit, es einfach und strukturiert von jemand anderem zu hören.
Lakesare