Как (S) FTP на скрытый сервер?

Не уверен, как правильно это сформулировать. У меня есть школьный веб-сервер, к которому я должен получить доступ к ssh ing на один сервер, а затем оттуда ssh к другому. Есть ли в любом случае, я могу установить что-то, чтобы обойти первый сервер, поэтому я могу получить доступ к 2-му серверу напрямую?


Возможно, я должен упомянуть, что я работаю со своей домашней машиной. Я упомянул ssh ing, но, как и в названии, я хочу, чтобы FTP файлы использовались с помощью чего-то вроде FileZilla, а не интерфейса командной строки (PuTTy).

  • Как получить ключи F1-F12 для переключения экранов на экране gnu в cygwin при подключении через SSH?
  • Передача агента SSH с использованием разных имен пользователей и разных ключей
  • Как исправить проблему несоответствия шифрования с помощью sftp?
  • В Linux я могу сохранить программу в фоновом режиме даже после отключения?
  • Как загрузить локальный файл на сервер через терминал Linux
  • Выполнять несколько команд по ssh без повторного подключения
  • Linux SOCKS5 туннелирование не работает с udp-трафиком
  • Как ssh к ipv6 ubuntu в локальной сети?
  • 5 Solutions collect form web for “Как (S) FTP на скрытый сервер?”

    Возможно, вы захотите проверить ProxyCommand OpenSSH, который позволяет указать произвольную команду для создания туннеля. В этом случае вы должны использовать ssh-соединение с первым сервером, запустив что-то вроде netcat для подключения ко второму серверу. Это особенно удобно, если вы используете аутентификацию открытого ключа для подключения к первому серверу, иначе вам нужно ввести два пароля.

    Соответствующий .ssh/config -snippet выглядит так:

     Host hidden-server HostKeyAlias hidden-server ProxyCommand ssh first-server nc -w1 hidden-server 22 

    После того, как @mpen связал меня с WinSCP, я просто следил за ним и работал с Filezille. Процесс такой же, как описано здесь .

    Эти указания предназначены только для Windows.

    1. Убедитесь, что вы где-то загрузили Putty. Просто достаточно putty.exe (интерфейс командной строки). Например, на рабочем столе
    2. У клиента SFTP установлен (например, Filezilla или WinSCP)
    3. Запустите этот код из командной строки (первый путь, очевидно, является каталогом, в котором выполняется команда):

    C:\Users\<username>\Desktop> .\putty.exe <tunnel.server> -L 3111:<server-destination>:22

    Пример:

     C:\Users\Bram\Desktop> .\putty.exe my.domain.com -L 3111:sub.domain.com:22 
    1. Откройте свой SFTP-клиент и используйте обычные учетные данные, но вместо адреса сервера вы используете localhost с портом 3111.
    2. Все готово. Не забудьте оставить туннель открытым, пока не закончите!

    ~ / .ssh / конфигурации:

     Host internalmachine.mynet.com ProxyCommand ssh gateway.mynet.com exec nc %h %p 

    Смотря как. Если на втором сервере есть маршрутизируемый адрес (т . Е. Его IP-адрес не начинается с 10 или 192.168 или 172.16 -172.31 ), тогда это должно быть возможно. За исключением того, что его SSH-сервер может разрешать подключения только с первого сервера, к которому вы подключаетесь. Для этого есть хорошие причины безопасности, а именно, что публичный SSH-сервер, который делает что-то важное (например, обслуживающие веб-страницы), в целом любит быть доступным только из нескольких IP-адресов, чтобы люди не нарушали пароли со словарными атаками.

    Мы не люди, чтобы задавать этот вопрос. Вы должны спросить у администратора системы вопрос, почему это так, и, возможно, если вы можете получить свой (фиксированный!) IP-адрес, настроенный как доверенный адрес на последнем сервере SSH.

    Просто выяснилось, что вы можете использовать PuTTY для настройки туннеля, а затем подключиться к нему с помощью любой FTP-программы, которую вы хотите. Прекрасно работает 🙂

    (Для тех, кто нуждается в этом решении: см. Как передавать файлы при предоставлении двух учетных записей SSH? )

    ExpanDrive также прекрасно работает и невероятно прост в использовании.

    Interesting Posts
    Давайте будем гением компьютера.