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

Я пытаюсь связать свой новый ноутбук под управлением 11.10 с моим старым ноутбуком под управлением 8.04 через мой маршрутизатор, используя SSH.

Этот вопрос задается и отвечает на ubuntuforums здесь:

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

Я подумал, что было бы полезно получить здесь более окончательный ответ.

Примечание: Мне нужно было сначала установить openssh-server на ноутбук, к которому я пытался подключиться, и открыть SSH-порт в моем брандмауэре с помощью firestarter.

Вы можете ограничить доступ к своему 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

ОБНОВЛЕНИЕ 2020 ГОДА

Начиная с этого вопроса, теперь возможен простой подход с использованием Match ключевое слово, введенное в OpenSSH 6.5/6.5p1 (2014):

# Disable all auth by defaultPasswordAuthentication noPubkeyAuthentication no[.. then, at the end of the file ..]# Allow auth from local networkMatch Address  192.168.1.*    PubkeyAuthentication yes    # if you want, you can even restrict to a specified user    AllowUsers stephan

man sshd_config для получения более подробной информации

ssh (secure shell) используется для безопасного доступа и передачи данных (используется пара RSA_KEYS).Вы можете получить доступ к данным с помощью ssh двумя способами: 1. Командная строка 2. с помощью файлового браузера

Командная строка: Для этого вам не нужно ничего устанавливать. Первая задача - войти в систему на другом компьютере.

ssh other_computer_username@other_computer_ip

Эта команда запросит пароль, который является паролем другого компьютера (для конкретного имени пользователя). Вы только что вошли в оболочку другого компьютера. Подумайте, что этот терминал похож на терминал вашей компьютерной оболочки. Вы можете делать все, используя оболочку для другого компьютера, что вы можете делать на своем компьютере

Файловый браузер: Вам необходимо установить openssh-сервер

sudo apt-get install openssh-server

>Для входа в систему перейдите к файлу-ConnectToServer

enter image description here

не могли бы вы, пожалуйста, рассказать нам, что не является достаточно “окончательным” в ответе slooow в этой теме? В противном случае ваш вопрос кажется двусмысленным.

@d_inevitable Во-первых, это не единственный ответ, и в противном случае он не указан как правильный. Это тот, который я бы выбрал, но именно поэтому я подумал, что было бы полезно перенести этот вопрос. Также может быть полезно включить общие указания или полезную ссылку по настройке SSH между двумя локальными машинами.