Как я могу настроить SSH так, чтобы он был ограничен моей локальной сетью?

Вы можете ограничить доступ к своему ssh-серверу многими способами.

IMO, самое важное - использовать ssh-ключи и отключить аутентификацию по паролю.

Подробности см. на следующих вики-страницах

Вы можете ограничить доступ к определенной подсети несколькими способами. Я предполагаю, что ваш ssh-сервер находится в подсети 192.168.0.0 /16 с IP-адресом 192.168.0.10, настройте соответствующим образом ;)

Маршрутизатор

Одна из линий защиты - использовать маршрутизатор. Обязательно отключите UPnP и не разрешайте переадресацию портов.

Конфигурация SSH

Вы можете задать несколько параметров в /etc/ssh/sshd_config. Один из них - это адрес прослушивания. Если вы установили адрес прослушивания в своей подсети. Частный ip-адрес не маршрутизируется через Интернет.

ListenAddress 192.168.0.10

Вы также можете использовать AllowUsers

AllowUsers you@192.168.0.0/16

В некоторой степени это связано с тем, что вы также можете изменить порт

Port 1234

Видеть: http://manpages.ubuntu.com/manpages/precise/man5/sshd_config.5.html

Оболочка TCP

Как описано в сообщении на форумах, вы можете использовать оболочку TCP . Оболочка TCP использует 2 файла, /etc/hosts.allow и /etc/hosts.deny

Редактировать /etc/hosts.allow и добавьте свою подсеть

sshd : 192.168.0.

Редактировать /etc/hosts.deny , и отрицать все

ALL : ALL

Смотрите также: http://ubuntu-tutorials.com/2007/09/02/network-security-with-tcpwrappers-hostsallow-and-hostsdeny/

Брандмауэр

Наконец, вы можете настроить брандмауэр своего сервера. Вы можете использовать iptables, ufw или gufw.

iptables

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

Пожалуйста, не используйте DROP в iptables.

ufw

sudo ufw allow from 192.168.0.0/16 to any port 22

ufw имеет графический интерфейс: gufw

GUFW