Назад | Перейти на главную страницу

SSH к компьютеру, который затем будет SSH на другой компьютер

Возможный дубликат:
Как настроить ярлык для SSH-соединения через SSH-туннель

У меня есть ситуация, когда я хотел бы иметь доступ по SSH / SFTP с моей рабочей станции к серверу, к которому нет прямого доступа с моей рабочей станции. У меня есть ssh-доступ к компьютеру, который находится в сети, который затем может ssh на соответствующий сервер.

Как я могу этого добиться?

Используйте ProxyCommand конфигурация ssh переменная.

Host inaccessible
ProxyCommand ssh accessible nc -w1 %h %p

Эта почта даже объясняет способ использования общей конфигурации, чтобы ssh host1/host2 автоматически скачивает хосты за вас.

Обновить: Исправлены имена хостов в фрагменте конфигурации в соответствии с комментарием toppledwagon.

Использовать туннели ssh, конечно.

Вы также можете: ssh -для удаленного доступа к ssh notremotelyaccsbl

Я думаю, что этот ответ может быть тем, что вы ищете:

Как настроить ярлык для SSH-соединения через SSH-туннель

  1. Открытый туннель:

    ssh -qTfnN -D 4040 -C логин @ удаленно-доступный-хост

  2. Настройте SOCKS5 на localhost с портом 4040 в cyberduck

  3. Присоединиться компьютер, к которому вы хотите получить доступ

    • q - тихий
    • T - без tty
    • f - перейти на задний план
    • N - не выполнять удаленные команды
    • n - перенаправить ввод в / dev / null.

WinSCP напрямую поддерживает соединение через туннель ssh. Может быть, один из клиентов MacOS тоже предоставляет такую ​​функциональность?

Если туннели SSH недоступны для вас (их можно отключить на стороне сервера), не могли бы вы изменить FTP-соединение?

Если ваш локальный компьютер можно увидеть через SSH на общедоступном маршрутизируемом IP-адресе, а недоступный компьютер может видеть внешний мир, тогда

  1. SSH для удаленного доступа
  2. оттуда SSH в недоступный
  3. оттуда используйте SCP / SFTP-клиенты командной строки для получения файлов в вашей локальной файловой системе

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

Спасибо за все зацепки. После экспериментов с несколькими опциями, следующая настройка кажется самой простой:

  • Скачал действительно красивую программу с вызовом SSHTunnel (очень рекомендуется)
  • Настройте мой известный хост в разделе Серверы SSHTunnel
  • Настройте желаемые порты в разделе Services
  • Зеленый свет показывает, что туннель открыт.
  • Используйте SFTP-клиент (Cyberduck или Fugu) для подключения к 127.0.0.1, используя локальный порт, установленный в Сервисах SSHTunnel

Альтернативное решение: перенаправление портов с использованием сокат

На доступной машине установите сокат если он еще не установлен, запустите его следующим образом:

% socat tcp4-listen: 1111, форк tcp4: недоступен: 2222

По сути, это форвард порта. Вы подключаетесь к доступной машине через порт 1111, и он соединит вас с портом 2222 на недоступной машине. вилка будет держать сокат создавать новый процесс для каждого соединения.