Я пытаюсь подключить свой новый ноутбук с ОС 11.10 к старому ноутбуку с ОС 8.04 через маршрутизатор с помощью SSH.
Этот вопрос задают и отвечают на ubuntuforums здесь:
http://ubuntuforums.org/showthread.php?t=1648965
Я подумал, что было бы полезно получить более определенный ответ.
Примечание: мне сначала нужно было установить openssh-server на ноутбуке, к которому я пытался подключиться, и открыть порт SSH в брандмауэре с помощью Firestarter.
решение1
Вы можете ограничить доступ к вашему SSH-серверу разными способами.
На мой взгляд, самое главное — использовать ключи 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
. Один из них — это адрес прослушивания. Если вы устанавливаете адрес прослушивания в своей подсети. Частныйайпи адресне маршрутизируется через Интернет.
ListenAddress 192.168.0.10
Вы также можете использовать AllowUsers
AllowUsers [email protected]/16
Немного похоже, вы также можете изменить порт
Port 1234
Видеть:http://manpages.ubuntu.com/manpages/precise/man5/sshd_config.5.html
TCP-оболочка
Как указано в сообщении на форуме, вы можете использовать TCP Wrapper. TCP Wrapper использует 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
.
ufw
sudo ufw allow from 192.168.0.0/16 to any port 22
ufw
имеет графический интерфейс: gufw
решение2
ОБНОВЛЕНИЕ 2020 ГОДА
Поскольку этот вопрос, менее сложный подход теперь возможен с использованием Match
ключевого слова, введенного вOpenSSH 6.5/6.5p1 (2014):
вsshdфайл конфигурации ( /etc/ssh/sshd_config
вДебиани производные ОС, такие какУбунту)
# Disable all auth by default
PasswordAuthentication no
PubkeyAuthentication no
[.. then, at the end of the file ..]
# Allow auth from local network
Match Address 192.168.1.*
PubkeyAuthentication yes
# if you want, you can even restrict to a specified user
AllowUsers stephan
Совет: лучше поместить ваши пользовательские правила в файл в /etc/ssh/sshd_config.d
папке. Обычно /etc/ssh/sshd_config.d/local_network_only.conf
. Это предотвращает конфликты при обновлении до новой версии пакета ssh-server изменения файла конфигурации sshd.
man sshd_config
Больше подробностей
решение3
ssh (secure shell) используется для безопасного доступа и передачи данных (используется пара RSA_KEYS). Вы можете получить доступ к данным с помощью ssh двумя способами: 1. Командная строка 2. С помощью файлового браузера
Командная строка: Для этого вам не нужно ничего устанавливать. Первая задача — войти в другой компьютер.
ssh other_computer_username@other_computer_ip
Эта команда запросит пароль, который является паролем другого компьютера (для определенного имени пользователя). Вы только что вошли в оболочку другого компьютера. Подумайте, что этот терминал похож на терминал оболочки вашего компьютера. Вы можете делать все, используя оболочку для другого компьютера, что вы можете делать на своем компьютере
Файловый браузер: Вам необходимо установить openssh-server
sudo apt-get install openssh-server
Для входа перейдите в меню Файл->Подключиться к серверу.