Я думаю, что на подобные вопросы и раньше отвечали, но из-за недостатка знаний в области сетевых технологий в течение нескольких лет я искал в Интернете и читал множество веб-сайтов, пытаясь подключиться к 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.
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
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, отличный от порта по умолчанию, чтобы снизить количество попыток входа в систему с использованием грубой силы, которые вы собираетесь получить, если ваша служба доступна таким образом.