Невозможно использовать SSH / SFTP для удаленного сервера без использования другого удаленного сервера.

Я могу получить доступ к серверу A по SSH, и оттуда я могу получить доступ к серверу B , но не могу получить доступ к B напрямую. ]

Можно ли открыть папку Nautilus на сервере B , нажав PlacesConnect to Server?

4
задан 7 February 2012 в 00:58

3 ответа

Да, это возможно. У меня есть следующая настройка, которая работает, но могут быть и более легкие.

В файле ~/.ssh/config добавьте следующие строки:

ControlMaster auto
ControlPath   /home/yourusername/.ssh/tmp/%h_%p_%r
Host A
  HostName hostname.of.server.a

Host B
  ProxyCommand ssh -e none A netcat -w 5 hostname.of.server.b 22

Вы должны заменить имя пользователя, имя хоста.of.sever.a и имя хоста.of.server.b После этого Вы можете (в Nautilus) перейти в Places-> Connect to Server (на самом деле это File-> Connect to Server на моем компьютере). А затем введите B. Это должно быть все, чтобы увидеть сервер B.

0
ответ дан 7 February 2012 в 00:58

Обновление предыдущих ответов: использование netcat для пересылки соединения на промежуточный хост работает иначе, чем ssh'ing напрямую, и завершится неудачно, когда вы захотите, например подключиться к серверу VNC, который настроен на прием только локальных подключений через туннель Jumphost. Чтобы соединение работало точно так же, как прямое, используйте опцию -W, присутствующую в более новых версиях клиента:

Host jumphost
Hostname hostname.of.jumphost

Host target
Hostname hostname.of.target
Port 30022
ProxyCommand ssh -W %h:%p jumphost
0
ответ дан 7 February 2012 в 00:58

Одна вещь, которую нужно попробовать, это добавить это в .ssh / config:

Host B
  ProxyCommand ssh A nc -q0 %h %p
  ForwardAgent yes

Как только это будет сделано, вы сможете напрямую ssh B, и SSH будет знать, что он «отказов» соединение через А. сначала.

Когда это работает, попробуйте Наутилус, как вы описываете, и посмотрите, работает ли для него настройка прокси.

0
ответ дан 7 February 2012 в 00:58

Другие вопросы по тегам:

Похожие вопросы: