Можно ли войти на сервер с помощью клиента FTP (например, Cyberduck) через VPS, то есть сделать двойной переход для доступа к серверу?

Вот что я пытаюсь сделать: мой домашний компьютер - Mac, а мой обычный клиент S/FTP - Cyberduck. У меня есть Ubuntu VPS через DigitalOcean. Сервер, к которому я хочу подключиться, разрешает соединения только с IP (IPv6) моего VPS. Поэтому я хочу подключиться к серверу с помощью Cyberduck (или другого FTP-клиента Mac на основе графического интерфейса) через VPS. У меня есть открытые ключи, настроенные для подключения без пароля к VPS, и мне нужно использовать пароль для подключения к серверу с VPS.

Я хочу установить туннель? Или прокси? Или что?

Ответ, предоставленный в SFTP через двойной серверный прыжок, дает ответы только для командной строки или Windows. Я ищу решение с графическим интерфейсом на Mac.

4 ответа4

1

Звучит так, будто вы хотите подключиться к вашему VPS через туннель SSH, а затем оттуда использовать cyberduck для подключения к вашему другому серверу через этот туннель.

РЕДАКТИРОВАТЬ: Я понятия не имею, будет ли это работать для IPv6, но кто-то более знающий в этой области должен быть в состоянии помочь.

Итак, GUI для mac для туннелей ssh:http://projects.tynsoe.org/en/stm/ Менеджер туннелей SSH - отличный маленький инструмент, который поможет вам сэкономить при использовании командной строки для настройки туннеля.

Вот основы

Host: сервер, к которому вы хотите подключиться по SSH в качестве первого прыжка. В этом случае ваш VPS. Порт: это будет стандартный порт SSH (22)

Локальные перенаправления. Это туннелирование портов локального хоста (127.0.0.1:xxxxx) к соединению, установленному хостом, с другим компьютером и конкретным портом.

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

Удаленный хост: это адрес компьютера, к которому вы хотите подключить туннель на другом конце. то есть. Ваш конечный пункт назначения.

Правый столбец порта: это порт, к которому вы бы подключились на удаленном хосте, если бы вы могли подключиться напрямую. В вашем случае снова стандартный порт SSH. Скриншот менеджера туннелей SSH

Вы можете увидеть на скриншоте команду, которая запускается в терминале от вашего имени.

Закройте окно настроек, а затем подключите туннель.
Туннели SSH

Следующим шагом является настройка вашего клиента FTP/SFTP.

Установите для хоста Cyberduck значение 127.0.0.1:222 (если вы выбрали 222 в левом столбце, как в примере с моим снимком экрана). Введите данные для аутентификации и нажмите «Подключиться».

Теоретически, звезды должны совпадать, и вы должны быть подключены к вашему второму серверу.

0

В конце я использовал инструкции здесь: http://backdrift.org/transparent-proxy-with-ssh

Затем я использовал способность TextWrangler «Открыть с SFTP-сервера», и это сработало. Похоже, что конкретное соединение, над которым я работал, каким-то образом блокировало кибер-утку, но это позволило TextWrangler.

0

Исходя из того, что я понимаю из ваших потребностей, я вижу 2 возможных решения:

  1. Используйте режим сервера s SOCKS ssh (опция «-D») и настройте Cyberduck на открытие вашего ftp-соединения с использованием этого сервера SOCKS (сервер = localhost, порт = локальный порт, указанный в опции -D ssh)

  2. Посмотрите и попробуйте " sshuttle ", программу с открытым исходным кодом, о которой я недавно слышал (но никогда не тестировал)

Удачи ! И скажите нам, сработало ли это для вас.

0

Как сказал @Jakuje в комментариях, просто добавьте что-то вроде этого:

Match group users
    ChrootDirectory %h
    X11Forwarding no
    AllowTCPForwarding no
    ForceCommand internal-sftp

в конце файла /etc/ssh/sshd_config в вашем Ubuntu VPS, который позволит всем пользователям в группе users иметь доступ sftp к своему домашнему каталогу. затем используйте ваш Mac-клиент (например, Cyberduck) для подключения к этому пользователю с правильной конфигурацией. тогда вы сделали;)

Также можно изменить group users на любую группу, которую вы хотите, или просто использовать Match user USERNAME чтобы включить эту функцию только для одного пользователя.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .