web-dev-qa-db-fra.com

Comment puis-je configurer SSH pour qu'il soit limité à mon réseau local?

J'essaie de relier mon nouvel ordinateur portable fonctionnant sous 11.10 à mon ancien ordinateur portable fonctionnant sous 8.04 via mon routeur à l'aide de SSH.

Cette question est posée et répondue sur ubuntuforums ici:

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

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

Remarque: je devais d'abord installer openssh-server sur l'ordinateur portable auquel j'essayais de me connecter et ouvrir le port SSH de mon pare-feu à l'aide de firestarter.

31
klenwell

Vous pouvez restreindre l'accès à votre serveur ssh de plusieurs manières.

IMO le plus important est d'utiliser les clés ssh et de désactiver l'authentification par mot de passe.

Voir les pages wiki suivantes pour plus de détails

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

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

Vous pouvez limiter l'accès à un sous-réseau spécifique de plusieurs manières. Je suppose 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 ligne de défense consiste à utiliser un routeur. Veillez à désactiver UPnP et à ne pas autoriser le transfert de port.

Configuration SSH

Vous pouvez définir plusieurs options dans /etc/ssh/sshd_config. L'un 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.

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

ListenAddress 192.168.0.10

Vous pouvez également utiliser les AllowUsers

AllowUsers [email protected]/16

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

Port 1234

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

TCP wrapper

Comme indiqué dans le post du forum, vous pouvez utiliser TCP Wrapper. TCP l'encapsuleur utilise 2 fichiers, /etc/hosts.allow et /etc/hosts.deny

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

sshd : 192.168.0.

Editez /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 pare-feu sur votre serveur. 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, voir 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 a une interface graphique

GUFW

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

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

43
Panther

ssh (secure Shell) est utilisé pour accéder et transférer des données en toute sécurité (paire RSA_KEYS utilisée). Vous pouvez accéder aux données en utilisant ssh de deux manières: 1. Ligne de commande 2. en utilisant le navigateur de fichiers

Ligne de commande: Pour cela, vous n'avez rien à installer. La première tâche est de vous connecter à un autre ordinateur.

ssh other_computer_username@other_computer_ip

Cette commande 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 au shell d'un autre ordinateur. Pensez que ce terminal ressemble au terminal Shell de votre ordinateur. Vous pouvez tout faire à l'aide de Shell vers un autre ordinateur, comme vous pouvez le faire dans votre ordinateur.

Navigateur de fichier: vous devez installer openssh-server

Sudo apt-get install openssh-server

Pour vous connecter, allez dans fichier-> connectToServer

enter image description here

1
shantanu