52 votes

Comment puis-je configurer SSH de manière à ce qu'il soit limité à mon réseau local ?

Je suis en train d'essayer de relier mon nouveau ordinateur portable équipé de 11.10 à mon ancien ordinateur portable équipé de 8.04 via mon routeur en utilisant SSH.

Cette question est posée et répondue sur les forums Ubuntu ici:

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

J'ai pensé que ce serait utile d'avoir une réponse plus définitive ici.

Note: J'ai d'abord dû installer openssh-server sur le ordinateur portable auquel je tentais de me connecter et ouvrir le port SSH dans mon pare-feu en utilisant firestarter.

60voto

Panther Points 96601

Vous pouvez restreindre l'accès à votre serveur ssh de plusieurs façons.

À mon avis, le plus important est d'utiliser des clés ssh et de désactiver l'authentification par mot de passe.

Consultez les pages wiki suivantes pour plus de détails

Vous pouvez restreindre l'accès à un sous-réseau spécifique de plusieurs manières. Je vais supposer que votre serveur ssh est sur le sous-réseau 192.168.0.0/16 avec une adresse ip de 192.168.0.10, ajustez en conséquence ;)

Routeur

Une première ligne de défense est d'utiliser un routeur. Assurez-vous de désactiver le UPnP et de ne pas autoriser le transfert de ports.

Configuration SSH

Vous pouvez définir plusieurs options dans /etc/ssh/sshd_config. L'une d'entre elles est l'adresse d'écoute. Si vous définissez une adresse d'écoute sur votre sous-réseau. Une adresse IP privée n'est pas routable sur internet.

ListenAddress 192.168.0.10

Vous pouvez également utiliser AllowUsers

AllowUsers you@192.168.0.0/16

Un peu lié, vous pouvez également changer le port

Port 1234

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

Enveloppe TCP

Comme décrit dans le message du forum, vous pouvez utiliser TCP Wrapper. TCP Wrapper utilise 2 fichiers, /etc/hosts.allow et /etc/hosts.deny

Modifiez /etc/hosts.allow et ajoutez votre sous-réseau

sshd : 192.168.0.

Modifiez /etc/hosts.deny, et refusez tout

ALL : ALL

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

Pare-feu

Enfin, vous pouvez protéger votre serveur avec un pare-feu. Vous pouvez utiliser iptables, ufw ou gufw.

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

Veuillez ne pas utiliser DROP dans iptables.

ufw

sudo ufw allow from 192.168.0.0/16 to any port 22

ufw a une interface graphique: gufw

GUFW

26voto

Mingjiang Shi Points 111

MISE À JOUR 2020

Depuis cette question, une approche simple est maintenant possible en utilisant le mot-clé Match introduit dans OpenSSH 6.5/6.5p1 (2014):

# Désactiver toute authentification par défaut
PasswordAuthentication no
PubkeyAuthentication no

[.. puis, à la fin du fichier ..]

# Autoriser l'authentification depuis le réseau local
Match Address  192.168.1.*
    PubkeyAuthentication yes
    # si vous le souhaitez, vous pouvez même restreindre à un utilisateur spécifié
    AllowUsers stephan

man sshd_config pour plus de détails

1voto

shantanu Points 7751

Ssh (Secure Shell) est utilisé pour accéder et transférer des données en toute sécurité (utilisation de la paire de clés RSA). Vous pouvez accéder aux données en utilisant ssh de deux manières : 1. En ligne de commande 2. En utilisant un navigateur de fichiers

En ligne de commande : Pour cela, vous n'avez rien à installer. La première étape consiste à vous connecter à un autre ordinateur.

ssh nom_utilisateur_autre_ordinateur@adresse_ip_autre_ordinateur

Cette commande vous demandera un mot de passe qui est le mot de passe de l'autre ordinateur (pour un nom d'utilisateur spécifique). Vous venez de vous connecter à l'interpréteur de commandes de l'autre ordinateur. Pensez à ce terminal comme à celui de votre propre ordinateur. Vous pouvez faire tout ce que vous feriez sur votre propre ordinateur en utilisant l'interpréteur de commandes de l'autre ordinateur

Navigateur de fichiers : Vous devez installer openssh-server

sudo apt-get install openssh-server

Pour vous connecter, allez dans Fichier -> Se connecter au serveur

entrer la description de l'image ici

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X