Как создать простой зашифрованный двухсторонний туннель SSH
Hack ProofВ этом сценарии UserA желает подключиться с HostA с IP-адресом 204.55.6.77 к адресу за брандмауэром или NAT HostB с IP-адресом 156.78.4.56, на котором работает UserB.
Создайте SSH туннель
Чтобы UserA мог пройти через брандмауэр, UserB должен сначала инициировать удаленную регистрацию SSH для HostA, создавая зашифрованный туннель, к которому UserA будет обращаться через локальный эфемерный порт, например. 50505.
Любой порт в диапазоне от 32768 до 61000 должен быть в порядке.
Для этого UserB выполняет:
HostB~$ ssh -R 50505:localhost:22 UserB@204.55.6.77
Результатом вышеупомянутой команды должен быть успешный удаленный вход из HostB в HostA.
HostA~$ ss -lt State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:ssh *:* LISTEN 0 128 localhost:50505 *:* LISTEN 0 128 *:http *:* LISTEN 0 128 :::ssh :::* LISTEN 0 128 localhost:50505 :::* LISTEN 0 128 :::http
Используйте SSH-туннель для удаленного входа по SSH
Все, что осталось сделать, – это чтобы пользователь UserА использовал туннель SSH, доступный через локальный порт HostA 50505, для входа по SSH на HostB:
HostA~$ ssh UserA@localhost -p 50505
После успешного входа по SSH UserA должен быть подключен к HostB через туннель SSH.