Як я можу налаштувати SSH так, щоб він був обмежений моєю локальною мережею?


33

Я намагаюся зв’язати свій новий ноутбук під керуванням 11.10 зі старим ноутбуком під керуванням 8.04 через маршрутизатор за допомогою SSH.

Це запитання та відповіді на ubuntuforums можна тут:

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

Я думав, що було б корисно мати тут більш чітку відповідь.

Примітка: мені потрібно було спочатку встановити openssh-сервер на ноутбук, до якого я намагався підключитися та відкрити порт SSH у своєму брандмауері за допомогою firestarter.


Ви можете, будь ласка, сказати нам, що недостатньо "остаточне" щодо відповіді slooow у цій темі? Інакше ваше питання здається неоднозначним.
d_inevitable

@d_inevitable Для одного це не єдина відповідь, і це не вказано як правильне. Я вибрав би це, але саме тому я вважав, що було б корисно перенести це питання. Це також може допомогти включити загальні вказівки або корисне посилання щодо налаштування SSH між двома локальними машинами.
klenwell

Відповіді:


46

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

IMO найважливішим є використання ssh-ключів та відключення автентифікації паролів.

Докладніше див. На наступних сторінках вікі

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

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

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

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

Одна лінія захисту - використовувати роутер. Не забудьте відключити UPnP і не дозволити переадресацію портів.

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

Ви можете встановити кілька варіантів в /etc/ssh/sshd_config. Один - адреса прослуховування. Якщо ви встановите адресу прослуховування у своїй підмережі. Приватна IP-адреса не маршрутизується через Інтернет.

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

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 Wrapper. 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 ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j REJECT

Будь ласка, не використовуйте DROP в iptables, див. 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 має графічний інтерфейс

GUFW

Дивіться https://help.ubuntu.com/community/UFW

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


Деякі мережі використовують 10.0.0.0 як IP-адресу, у цьому випадку замініть 192.168.0.0/24 на 10.0.0.0/8, щоб дозволити діапазон 10.0.0.0-10.255.255.255. Якщо ви хочете дозволити лише один IP, використовуйте щось на зразок 192.168.1.2/32. Дуже багатослівне пояснення можна знайти на [ serverfault.com/q/49765/51929Sense ( Як працює підмережа ?)
Lekensteyn

1
Будь ласка, не використовуйте DROP в iptables - Дивіться chiark.greenend.org.uk/~peterb/network/drop-vs-reject
Panther

Ця сторінка не згадує підроблені IP-адреси як можливу причину використання DROP через REJECT. Ця відповідь на Sec.SE пояснює, чому вона насправді не є актуальною (вихідні пакети більше, ніж повернуті пакети).
Лекенштейн

@Lekensteyn - Я не бачив дискусії щодо підробленого IP-адреси в цьому посиланні. Як ви пропонуєте, DDoS і підроблений IP не входять в цю дискусію, і я не переконаний, що DROP перевершує REJECT майже нічим. DDos є складними і без інформації про причину DDos відстояти неможливо. Наприклад, я бачив, як WP використовується як DDoS, і вирішення проблеми полягає в правильній конфігурації WP і мало або нічого спільного з iptables.
Пантера

ListenAddressздається найпростішим та найелегантнішим рішенням
code_monk

1

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

Командний рядок: для цього вам нічого не потрібно встановлювати. Перше завдання - увійти в інший комп'ютер.

ssh other_computer_username@other_computer_ip

Ця команда запитає пароль, що є паролем іншого комп'ютера (для конкретного імені користувача). Ви щойно увійшли до оболонки іншого комп'ютера. Подумайте, що цей термінал схожий на термінал оболонки комп'ютера. Ви можете робити все, використовуючи оболонку на іншому комп'ютері, що ви можете зробити на своєму комп’ютері

Файловий браузер: Вам потрібно встановити openssh-сервер

sudo apt-get install openssh-server

Для входу увійдіть у файл-> connectToServer

введіть тут опис зображення


Вказівки командного рядка були першим, що я спробував. Мені вдалося пінг мого іншого комп’ютера за його локальною IP-адресою. Але коли я намагаюся SSH, він зависає. Тому я припускаю, що я повинен налаштувати свій інший комп'ютер, щоб дозволити спочатку доступ до SSH.
klenwell

переконайтеся, що ваш маршрутизатор не блокує 22 порти чи ssh
shantanu

Спасибі. Я вже знав усе, що ви згадали з досвіду, але це було чудовою легкістю почути це просто і структуровано від когось іншого.
озера
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.