Как говорит @ Findus23, вам нужно перенаправить порт (отличный от 22, который, возможно, используется как порт по умолчанию для подключения к самому маршрутизатору SSH) из маршрутизатор к вашему ПК.
Я привожу пример:
PC [192.168.1.10] <==> [192.168.1.1] Router [1.1.1.1] <==> Internet
Как видите, подключение через SSH к адресу 1.1.1.1
приводит к подключению к порту 22 вашего маршрутизатора через его общедоступный интерфейс (обращенный к Интернету) .
Если вы хотите получить доступ к ПК, расположенному за маршрутизатором (то есть в частной сети адресного пространства 192.168.1.0/24
), вам необходимо включить порт Переадресация .
Это обязательно, потому что ваш маршрутизатор должен знать, с каким хостом он должен связаться, из полного адресного пространства подключенных к нему ПК. Например:
(PC1[192.168.1.2], PC2[192.168.1.3]) <==> Router
Маршрутизатор не может знать, должен ли он маршрутизировать на ПК1
или ПК2
, когда обращается к указанному порту.
Включив Port Forwarding
, вы можете сказать:
Все подключения из Интернета к порту X маршрутизатора должны быть направлены на порт Y PCZ
Итак, в вашем case:
Router:<port> => PC1:22 (route connection from router port 4000 to port 22 of PC1)
ssh -p <port> user@<router-IP>
приводит к подключению из Интернета к указанному локальному хосту.