Есть ли способ подключиться к локальному компьютеру через шлюз без прохождения через шлюз?
Когда я на работе, я могу использовать nautilus для удобной навигации по файлам на других компьютерах в локальной сети. Nautilus монтирует файловые системы других компьютеров, используя ssh (sftp через gvfs). Однако, когда я дома, мне нужно подключиться к серверу шлюза (через ssh) по соображениям безопасности. Оттуда я могу ssh на локальные компьютеры. Это нарушает способность nautilus просматривать файлы, так как я вижу только шлюз, и нет прямой ссылки sftp, которую я мог бы использовать в nautilus.
Как я могу использовать nautilus для просмотра файлов на компьютерах в локальной сети моей работы из дома?
Как мне настроить шлюз, чтобы сделать это возможным (если это вообще возможно)?
Что еще хуже, у меня есть только права пользователя (не root) на шлюзе.
Я сильно подозреваю, что вне нашего решения sys-admin, устанавливающего VPN, не существует решения, но AU в прошлом не давал мне покоя.
Редактировать:
Было предложено запустить nautilus
на моем рабочем компьютере. Я сделал это с помощью X-forwading: ssh -t -C -X gateway ssh -t -X me@workpc nautilus
, К сожалению, я получаю сообщение об ошибке "Наутилус не может обрабатывать местоположения sftp".
Даже если бы x-forwarding работал должным образом, у него были бы определенные недостатки:
- Медленно реагирующий GUI
- Нет перетаскивания файлов на мою локальную (= домашнюю) машину
Поэтому все еще ищу лучшее решение. Нет ли такой вещи, как пересылка по ssh, чтобы шлюз просто отправлял все ssh-запросы на мой рабочий ПК?
2 ответа
В вашем шлюзе смонтируйте ваш рабочий стол: gvfs-mount sftp://username@workpc/
На вашем домашнем ПК используйте Nautilus для подключения к вашему шлюзу и доступа ~/.gvfs
на это: тип sftp://username@gateway/home/username/.gvfs
в адресной строке, и вы увидите ваш рабочий стол, смонтированный там.
Я могу придумать два возможных решения. Каждый включает запуск nautilus на удаленных компьютерах вместо вашего домашнего компьютера.
Первый Если ваш шлюз может удаленно запускать nautilus, используйте что-то вроде:
ssh -X gateway.company.com nautilus
Это запустит nautilus в шлюзе (при условии, что он установлен) и отобразит его на вашем домашнем компьютере. Тогда вы сможете просматривать другие компьютеры в локальной сети, используя sftp, если вы знаете их локальные имена хостов или IP-адреса.
Второе Если на шлюзе не установлен nautilus или по какой-то причине sftp изнутри nautilus не работает при работе на шлюзе, вы можете попробовать запустить nautilus на одном из целевых компьютеров, например:
ssh -t -X gateway.company.com ssh -X computer.with.files.to.browse.local nautilus
Это откроет nautilus в конечном удаленном месте назначения "computer.with.files.to.browse.local" и отобразит его на домашнем компьютере через шлюз.
Подробности смотрите по адресу: https://serverfault.com/questions/149846/access-remote-server-with-nautilus-through-double-ssh-tunnel
Надеюсь это поможет.