В настоящее время я знаю о SCP и SSH. Бывают моменты, когда я выполняю какую-то работу в файле, который мне нужно загрузить локально, чтобы работать с ним. Что вызывает:

  1. Распечатать рабочий каталог / путь

  2. Получить имя файла

  3. Запустите окно нового терминала и выполните scp myName@host:/Path/to/file/fileName.someExt ~/MyLocalPath

Это прекрасно работает, но это большая боль в заднице. Есть ли простой способ скопировать файл с удаленного сервера через SSH, не используя шаги, описанные выше?

Изменить: я ищу способ передачи файлов из командной строки, пока я удален в поле. Таким образом, я могу запускать команды, а не просто копировать файлы.

2 ответа2

2

Вы можете использовать приложение FUSE для монтирования удаленных файлов в локальную файловую систему. Тогда вы можете работать с файлами напрямую. Когда вы измените их, они будут изменены на удаленном конце автоматически.

Сначала убедитесь, что у вас есть встроенный модуль ядра fuse .

Затем вы можете использовать любой sshfs, который является автономным приложением:

sshfs user@hostname: mountpoint # to mount to mountpoint
fusermount -u mountpoint # to unmount

Кроме того, вы можете использовать GVFS. Если вы находитесь на рабочем столе, просто введите это в файловый менеджер (или используйте gvfs-mount в командной строке):

sftp://user@hostname/

И файловая система будет смонтирована в

$HOME/.gvfs/sftp for user on hostname

Однако, если вы не находитесь на рабочем столе, вам придется запустить сеанс D-Bus, прежде чем вы сможете использовать gvfs-mount:

$ dbus-launch 
No protocol specified
DBUS_SESSION_BUS_ADDRESS=XXXXXX
DBUS_SESSION_BUS_PID=YYYY
$ export DBUS_SESSION_BUS_ADDRESS=XXXXXX # copy value from above

Вы можете автоматизировать вышесказанное с помощью сценария оболочки, который вы поставили (!).

1

Я не знаю ни одного нативного метода, но есть патч "ssh-xfer": http://matt.ucc.asn.au/ssh-xfer/

ssh-xfer - это хакерский, но удобный способ передачи файлов с удаленных хостов на локальный компьютер. Во-первых, вам нужно запустить слегка модифицированную программу агента аутентификации SSH на вашем локальном компьютере. Патчи доступны как для OpenSSH, так и для PuTTY. , ,

Я не пробовал сам, так что никаких обещаний здесь. Похоже, вы должны установить ssh-xfer на удаленном хосте, так что это может не сработать, если вы не владеете машиной (учетная запись оболочки и т.д.)

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