Как разрешить SSH-подключение к моему компьютеру, когда я отсутствую?

Как разрешить SSH-подключение к моему компьютеру, когда я отсутствую?

Предположим, что я буду находиться вдали от своего рабочего стола, но мне хотелось бы иметь возможность подключаться к нему по SSH, когда я где-то вне дома.

Неужели это так же просто, как добавить правило NAT/переадресации портов на страницу моего маршрутизатора 192.168.1.1для порта 22?

Допустим, мой публичный IP-адрес — 1.2.3.4. Тогда я добавлю правило на свой маршрутизатор, и тогда я смогу подключиться к своему ящику по протоколу SSH из ?ssh [email protected]

решение1

Предложение в вашем вопросе совершенно верно.

Вам необходимо установить сервер OpenSSH ( sudo apt install openssh-server), а затем настроить переадресацию портов на вашем маршрутизаторе. Конечно, вам также потребуется добавить исключение в конфигурацию брандмауэра вашего локального компьютера для SSH.

Также обычно вам советуютпринудительная аутентификация с открытым ключомвместо использования пароля для дополнительной безопасности.

Также обратите внимание, что вам следует настроить статический IP-адрес, просто чтобы ваша конфигурация переадресации портов не сломалась в неподходящее время из-за DHCP. Хотя большинство маршрутизаторов, как правило, позволяют вашему компьютеру сохранять ваш IP-адрес, это не всегда является допустимым решением и не учитывает временные обрывы соединения. Обычно лучше встроить статический NAT IP, чтобы просто иметь гарантию того, что он будет работать.

Когда вы находитесь вне дома, вы просто сможете подключиться по SSH к вашему публичному IP и получить доступ к вашему компьютеру. Вы также можете рассмотреть возможность использованияДинамический DNSпровайдеру необходимо назначить доменное имя вашему маршрутизатору, поэтому любые изменения IP-адреса, инициированные вашим интернет-провайдером, также не повлияют на ваше соединение.

Обратите внимание, что существуют (очень незначительные) последствия для безопасности открытия сервера для всемирного SSH. В основном, это приведет к тому, что ваш сервер будет несколько раз пинговаться автоматизированными ботами, пытающимися найти плохо защищенные серверы. Неиспользование стандартного имени пользователя (например, admin) и аутентификации на основе ключей почти всегда будет держать их в стороне. Если вы действительно обеспокоены, вы можете использовать порт, отличный от 22 (хотя умные боты или люди попробуют, nmapесли порт 22 закрыт), используйтеFail2Ban, или и то, и другое. Если предположить, что используются надлежащие протоколы безопасности, то самая худшая атака, которую может осуществить вредоносный бот, — это записать приличное количество записей журнала на ваш жесткий диск.


Если вы один из тех невезучих людей, которые оказались между несколькими уровнями NAT (некоторые провайдеры используют нечто, называемое Carrier-Grade NAT), это становится гораздо сложнее. Вам понадобится либо VPN, либо другие средства проксирования вашего SSH-туннеля. Конечно, вы также можете запросить порт у своего провайдера, хотя успех может быть разным.

Связанный контент