SSH туннелирование для sftp или GUI

Я пытаюсь использовать sftp через ssh туннель

у меня есть homePC, что может использовать gatewayPC в качестве хоста для входа на удаленный сервер

я использую команду SSH туннель

$ssh -t userid@gateway ssh remoteserver

от homePC и это работало отлично

Тем не менее, я хотел бы открыть наутилус или любой другой файловый менеджер, как только я вошел на другой компьютер

одним из вариантов является возможность sftp или ftp через этот туннель

Существуют ли инструменты на основе графического интерфейса, такие как замазка для окон, чтобы это произошло?

Любая помощь приветствуется

С уважением, Шивани

5 ответов

Для этого вы можете использовать ssh tunnel, вам необходимо создать файл по пути:

atiruz@pc:~$ nano ~/.ssh/config

И добавьте этот текст (с учетом ваших серверов):

Host gatewayPC
    HostName 100.110.120.130

Host localPC
    ProxyCommand ssh -A -t root@gatewayPC -p 222 nc 192.168.1.5 22

Host otherPC
    ProxyCommand ssh -A -t localPC nc 10.10.0.55 22

В этом примере вы можете перейти непосредственно от gatewayPC к localPC, просто запустив его в терминале:

atiruz@pc:~$ ssh root@localPC

Схема должна быть такой, как описано на этом сайте. (Я внес небольшое изменение, потому что в примере с этим сайтом не работал мой Ubuntu 12.04).

Вы также можете использовать его в Nautilus по следующему пути:

В терминале: atiruz@pc:~$ nautilus sftp://root@localPC

Или прямо в Nautilus: sftp://root@localPC

Я бы предложил использовать "ssh -fND 6789 gatewayPC", затем использовать команду "настроить tsocks", чтобы вы могли выполнить команду "tsocks sshfs remoteserver: /mnt/remoteserver". Первая команда устанавливает прокси-сервер SOCK5, который туннелирует все запросы TCP через gatewayPC. Команда tsocks переносит сетевые вызовы команды, используемой для использования прокси-сервера SOCKS5. sshfs позволяет вам монтировать удаленную файловую систему, используя sftp.

Я не уверен, каким будет "правильный" способ сделать что-то подобное, но я однажды сделал нечто подобное, создав переадресацию портов с homePC на gatewayPC, а затем с gatewayPC на remoteserver. Затем я могу подключить свой локальный SFTP-клиент к локальному концу конвейера переадресации портов. Это дает вам двойное шифрование.

Ваш вопрос не был ясен, поэтому вот два ответа:

Если вы просто хотите иметь возможность запускать приложение X-File Manager на удаленном хосте, просто убедитесь, что -X действует через каждый ssh:

homepc% ssh -X me@gatewaypc
  ...Authenticate...
gatewaypc% ssh -X me@otherpc
  ...Authenticate...
otherpc% some-x-application
  ...X application displays on homepc...

Если вы хотите сделать прямые копии файлов с scp,

homepc% ssh -L2222:otherpc:22 me@gatewaypc
  ...Authenticate...
gatewaypc%  (Don't do anything here)

Тогда вы можете просто сделать scp в переадресованном порту

homepc% scp -P 2222 me@localhost:~/path/to/file /where/it/goes
      Host gateway
  HostName gateway.example.com
  User me
  IdentityFile ~/.ssh/id_rsa

Host serv1
  HostName server1ShortName
  CheckHostIP no
  HostKeyAlias server1ShortName
  User myname
  IdentityFile ~/.ssh/id_rsa

  #ProxyJump gateway # This is equivalent, but Transmit only recognizes `ProxyCommand`
  ProxyCommand ssh -W %h:%p gateway
Другие вопросы по тегам