У меня есть VPS-сервер, а мой домашний компьютер находится за NAT. Я хочу использовать перенаправление ssh для подключения к моему домашнему компьютеру в другом месте.
Я делаю это на своем домашнем компьютере:
ssh -fNgR 2221:localhost:22 root@myvps.info
Итак, на порт 2221 в myvps.info есть прослушивание носок
netstat -an
tcp 0 0 127.0.0.1:2221 0.0.0.0:* LISTEN
теперь я хочу подключиться к моему домашнему компьютеру с помощью команды ниже
ssh -p 2221 root@myvps.info
но он вернулся:
ssh: connect to host myvps.info port 2221: Connection refused
Я использую nmap myvps.info, чтобы узнать, какой порт открыт на сервере vps, который он показывает:
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
135/tcp filtered msrpc
139/tcp filtered netbios-ssn
445/tcp filtered microsoft-ds
593/tcp filtered http-rpc-epmap
4444/tcp filtered krb524
на 2221 порт открыт! почему и как мне решить эту проблему?
Вам нужно использовать:
ssh -fNR *:2221:localhost:22 root@myvps.info
который свяжет прослушивающий сокет сервера со всеми сетевыми интерфейсами (не только с localhost), и
GatewayPorts yes
в вашем файле / etc / sshd_config (точный путь может отличаться в зависимости от вашего дистрибутива Linux).
Увидеть ssh и ssh_config справочные страницы для получения дополнительной информации.
Ваш netstat показывает «127.0.0.1:2221», что означает, что он прослушивает только 127.0.0.1 (локальные соединения). Вам нужно будет настроить другой адрес прослушивания, либо IP-адрес машины, либо 0.0.0.0, что обычно означает все доступные адреса.