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

Чтобы избавиться от предупреждения, если оно еще не исчезло, вы можете создать отсутствующие каталоги, как в

sudo mkdir -p /root/.local/share

. Или в первый раз вы удаляете что-либо как sudo он также будет создан, если вы отправите корневую корзину

26
задан 1 April 2012 в 12:27

2 ответа

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

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

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

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

https://help.ubuntu.com/community/SSH/OpenSSH/ Ключи

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

Router

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

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

Вы можете установить несколько параметров в /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://compnetworking.about.com/od/workingwithipaddresses/f/privateipaddr.htm

TCP wrapper

Как указано в сообщении на форуме, вы можете использовать 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/

Оболочка TCP

Последнее, что вы можете использовать на своем сервере. Вы можете использовать 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://ubuntu-tutorials.com/ 2007/09/02 / network-security-with-tcpwrappers-hostsallow-and-hostsdeny /

ufw

sudo ufw allow from 192.168.0.0/16 to any port 22

gufw имеет графический интерфейс [!d34 ]

См. https://help.ubuntu.com/community/UFW

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

37
ответ дан 25 May 2018 в 13:14
  • 1
    Некоторые сети используют 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/51929] (Как работает подсетей?) – Lekensteyn 1 April 2012 в 13:32
  • 2
    Пожалуйста, не используйте DROP в iptables - см. chiark.greenend.org.uk/~peterb/network/drop-vs-reject – Panther 3 March 2014 в 22:46
  • 3
    Эта страница не упоминает поддельные IP-адреса как возможную причину использования DROP над REJECT. В этом ответе на Sec.SE объясняется, почему это действительно не актуально (исходные пакеты больше, чем возвращенные пакеты). – Lekensteyn 3 March 2014 в 23:35
  • 4
    @Lekensteyn - я не видел обсуждения для подделанных IP в этой ссылке. Как вы полагаете, DDoS и поддельные IP-адреса выходят за рамки этого обсуждения, и я не уверен, что DROP превосходит REJECT для большей части всего. DDos сложны и без информации о причине DDos невозможно защитить. Например, я видел, что WP используется как DDoS, и решение проблемы в правильной конфигурации WP и мало или ничего общего с iptables. – Panther 5 October 2015 в 18:23
  • 5
    ListenAddress кажется самым простым и элегантным решением – code_monk 6 October 2016 в 04:32

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

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

ssh other_computer_username@other_computer_ip

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

Браузер файлов: вам необходимо установить openssh-server

sudo apt-get install openssh-server

Чтобы войти в файл, войдите в файл -> connectToServer

1
ответ дан 25 May 2018 в 13:14
  • 1
    Первое, что я пробовал, - это направления командной строки. Я смог выполнить ping мой другой компьютер на своем LAN IP. Но когда я пытаюсь SSH, он зависает. Поэтому я предполагаю, что мне нужно настроить другой компьютер, чтобы сначала разрешить SSH-доступ. – klenwell 25 March 2012 в 23:51
  • 2
    убедитесь, что ваш маршрутизатор не блокирует 22 порт или ssh – shantanu 26 March 2012 в 00:42
  • 3
    Благодарю. Я уже знал все, что вы упоминали по опыту, но было очень легко услышать это просто и структурировано от кого-то другого. – lakesare 30 July 2015 в 17:39

Другие вопросы по тегам:

Похожие вопросы: