Назад | Перейти на главную страницу

Как мне настроить SSH через Интернет?

Я думаю, что на подобные вопросы и раньше отвечали, но из-за недостатка знаний в области сетевых технологий в течение нескольких лет я искал в Интернете и читал множество веб-сайтов, пытаясь подключиться к SSH-серверу через Интернет. Но я потерпел неудачу. Я хочу знать, можно ли соединить две системы с помощью SSH без использования сторонних сервисов, таких как ngrok.

У меня два компьютера под управлением ArchLinux. Компьютеры A и B находятся внутри локальной сети, но я хочу настроить ssh, чтобы я мог получить доступ к A из B через SSH через Интернет (например, как подключается Anydesk, Teamviewer и другое подобное программное обеспечение для удаленного рабочего стола).

Детали системы: 1. Системы подключены к роутеру [Digisol]. 2. Оба имеют openssh пакет установлен. Система А работает sshd. A может подключиться к B по локальной сети.

Имя хоста системы A: archlinux-pc

Имя хоста системы B: archlinux

В обеих системах имя пользователя сурав. То есть я хочу подключиться к сурав на archlinux-pc.

  1. Настройте конфигурацию виртуального сервера на роутере (Digisol):
Current Virtual Server Forwarding Table
ServerName  Protocol    Local IP Address    Local Port  WAN Port    State   Action
SSH     tcp     192.168.2.9     22-22   22-22   Enable  
  1. Мой публичный IP-адрес xx.xxx.171.113, как сообщил identity.me. IP не меняется в течение многих месяцев.

whatismyipaddress.com показывает тот же IPv4, но IPv6: не обнаружено

В моем маршрутизаторе есть раздел под названием WAN Configuration, который показывает несколько разных IP:

WAN Configuration
Interface   Protocol    IP Address  Gateway     DNS     Status
WAN     PPPoE   xx.xxx.18.27    xx.xxx.0.1  xxx.xxx.91.2 8.8.8.8 xxx.xxx.88.2   Link Up(PPPoE)

Я уже пробовал использовать ssh sourav@xx.xxx.171.113 из системы B, которая занимает много времени, но не подключается вообще.

Я также пробовал эти ссылки:

https://raspberrypi.stackexchange.com/questions/13861/setting-up-ssh-over-internet-on-my-pi

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


Как мне подключиться к системе A из системы B с помощью SSH без каких-либо других служб, таких как ngrok, если что-то подобное возможно? Кроме того, могу ли я подключиться к системе A через SSH, используя termux, работающий на моем телефоне Android?

Реализуйте адресацию IPv6. Добавьте записи AAAA в DNS. Откройте порт в вашем брандмауэре. NAT не требуется.

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

Предполагая, что обе системы находятся в одной локальной сети за одним и тем же маршрутизатором:

Подключившись к sourav@xxx.xxx.171.113, вы получите адрес 192.168.2.9.

оттуда вы можете ssh перейти к следующей системе, используя ее локальный адрес (предположительно 192.168.2.X)

Если вы хотите получить к нему доступ извне, вам нужно добавить дополнительный порт переадресации:

ServerName  Protocol    Local IP Address    Local Port  WAN Port    State   Action
       SSH       tcp         192.168.2.9         22-22     22-22    Enable  
      SSH2       tcp         192.168.2.X         22-22 63000-63000  Enable  

Теперь у вас должна быть возможность подключиться к порту 63000 sourav@xxx.xxx.171.113 и подключиться к другой системе. Хорошо перейти на порт SSH, отличный от порта по умолчанию, чтобы снизить количество попыток входа в систему с использованием грубой силы, которые вы собираетесь получить, если ваша служба доступна таким образом.