Пересылка определенных портов через реверсовые туннели SSH

Поэтому, к сожалению, я живу в месте, которое не позволит мне иметь статический IP-адрес, поэтому я установил доступ к своему домашнему компьютеру через обратные туннели SSH, которые запускаются на экземпляре ecacon ec2. Я получил SSH, чтобы работать нормально, но я не могу понять порт вперед.

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

Вот команды, перечисленные в графике:

Я следующий на своем домашнем компьютере:

ssh -R 1337:localhost:22 -i .ssh/tokyoMinekey.pem ec2-user@ec2serveraddress 

И я запускаю это на сервере ec2:

 ssh -L6600:localhost:6600 -Nf localhost -p 1337 

Диаграмма моей боли ... в краске AHHHHHH YEAHHHHHH!

FYI, я добавил порт 6600 в свою группу безопасности для amazon ec2, поэтому его открыть на стороне ec2

2 Solutions collect form web for “Пересылка определенных портов через реверсовые туннели SSH”

Я не уверен, почему вы используете две отдельные команды ssh здесь? Если вы хотите переслать порт 6600 на EC2 вместо порта 6600 на машине дома, вам нужно всего лишь:

 ssh -R :6600:localhost:6600 -i .ssh/tokyoMinekey.pem ec2-user@ec2serveraddress 

Вам также необходимо убедиться, что опция GatewayPorts включена в файле sshd_config экземпляра EC2.

Очевидно, вам нужно оставить это ssh-соединение открытым для порта вперед, чтобы продолжить работу, но кроме этого не должно быть никаких проблем.

Не могли бы вы предоставить результаты:

 netstat -tulpen 

На ec2serveraddress . Я ожидаю увидеть, что оба туннеля начинаются с 127.0.0.1:PORT ? 127.0.0.1 – это IP-адрес самого локального компьютера, недоступный извне. Это означает, что вы можете получить доступ к этому туннелю с самого сервера, но не с какой-либо другой машины …

Если это так, добавьте следующее к вашему /etc/ssh/sshd_config :

 GatewayPorts yes 

Этот параметр будет создавать порты с 0.0.0.0 , поэтому вы можете подключаться со всех сторон. Если нет других причин для создания двух подключенных туннелей, вы можете, конечно, сжать его только до одного:

 ssh -R 6600:localhost:22 -i .ssh/tokyoMinekey.pem ec2-user@ec2serveraddress 

Это создаст туннель ec2serveraddress:6600 к вашему home:22 .

  • Настройка учетных записей Linux-оболочки для общего доступа
  • Ubuntu IPTables позволяет разрешить только 1 страну
  • OpenSSH, экран FreeBSD перезаписывается при закрытии приложения
  • Получение ssh для выполнения команды в фоновом режиме на целевой машине
  • Linux «Top» для Windows Powershell?
  • Не удалось выполнить SSH для моей виртуальной машины через Windows Power Shell ISE
  • Как заставить git работать с pagent (putty) в Windows?
  • Как получить ключи F1-F12 для переключения экранов на экране gnu в cygwin при подключении через SSH?
  • Ошибка проверки валидности ssh
  • Передача портов туннелирования ssh
  • SSH как прокси-сервер socks через несколько хостов
  • Давайте будем гением компьютера.