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