Если вам нужен только быстрый доступ к определенному каталогу в Nautilus и диалоговым окнам файла, вы также можете использовать закладку ...
В любом случае существует файловая система FUSE с именем bindfs ( `sudo apt-get install bindfs), который, вероятно, делает именно то, что вы хотите. Например, следующее:
bindfs -n /media/USB-HDD-01/ISO/ /home/johnc/ISO-images
приведет к тому, что ISO-images появится как смонтированная файловая система на боковой панели Places в Nautilus. [F5] требуется, поскольку в противном случае bindfs пытается использовать параметр allow_other FUSE, который по умолчанию не разрешен для обычных пользователей (если вы используете bindfs в /etc/fstab, это не проблема).
Первый каталог, который вы указываете, является существующим, второй каталог, который вы указываете, представляет собой пустой каталог, в котором будет отображаться содержимое существующего.
Чтобы отключить, используйте: [!d5 ]
fusermount -u /home/johnc/ISO-images
PS: Nautilus (файловый менеджер) покажет монтируемые / смонтированные места , а не диски, но я предполагаю, что это то, что вы искали. [ ! d7]
Если ваш файл достаточно мал, вы можете закодировать его с помощью base64 и затем декодировать его локально:
remote.example.net $ base64 & lt; myfile (копировать вывод)
local.example.net $ base64 -d> myfile (скопировать вывод) Ctrl + D
Оригинальный ответ, где я получил это (и проверил ) from: https://unix.stackexchange.com/a/2869/194134
Если ваш клиентский компьютер (машина, на которой вы сидите), называется машиной А, а машина, на которой вы в настоящее время подключены, называется машиной B. MachineA, ваша локальная машина должна иметь SSHD и открыть порт 22. Затем:
scp myfile machineA:
Копирует myfile
на MachineB в мой домашний каталог MachineA на machineA.
scp myfile machineA: / newdir / newname
Копии myfile
one MachineB to / newdir / новое имя
на machineA. Это предполагает, что идентификатор пользователя / пароль совпадают.
scp MachineA: / path / to / my / otherfile.
Получает копию otherfile
из моего каталога MachineA на MachineA и помещает его в мой текущий рабочий каталог на машине MachineB (обозначенном стандартным способом UNIX " dot "(.)).
Если идентификатор пользователя / пароль не совпадают, используйте:
scp myfile user @ MachineA:
, чтобы получить файл
scp user @ MachineA: / path / to / my / otherfile.
для размещения файлов
ПРИМЕЧАНИЯ о SCP:
Как и команда cp
, scp
имеет параметр -p для распространения настроек разрешения исходного файла на копию (в противном случае копия выполняется с обычными настройками для новые файлы) и параметр -r для копирования всего дерева каталогов с помощью одной команды.
scp
создает полностью прозрачный зашифрованный канал данных между двумя машинами, поэтому двоичные данные ( такие как изображения или исполняемые программы) сохраняется правильно. Это также означает, что scp
не может выполнить автоматическое окончательное окончание преобразования между различными типами операционных систем, что может быть сделано с ftp в режиме «ascii». Это не будет проблемой при копировании между Unix-системами, которые используют одно и то же соглашение конца строки.
Я придумал способ сделать это со стандартным ssh. Это скрипт, который дублирует текущее соединение ssh, находит ваш рабочий каталог на удаленном компьютере и копирует обратно указанный вами файл на локальный компьютер. Для конфигурации ssh требуется 2 очень маленьких скрипта (1 удаленный, 1 локальный) и 2 строки. Шаги следующие:
~ / .ssh / config
: ControlMaster auto ControlPath ~ / .ssh / socket-% r @% h:% p
Теперь, если у вас есть ssh-соединение с machineX open, вам не нужны пароли, чтобы открыть еще один. ~ / .grabCat.sh
\ #! / bin / bash & lt; br & gt; cat "$ (pwdx $ (pgrep -u $ (whoami) bash) | grep -o '/.*' | tail -n 1)" / $ 1
\ #! / bin / bash [-n "$ 3"] & amp; & amp; & amp; dir = "$ 3" || реж = "" ssh "$ 1" ".grabCat.sh $ 2" & gt; «$ dir / $ 2»
~ / .bashrc
или где угодно): alias grab = ~ / .grab.sh
Вот и все. Теперь, если вы вошли в machineX: / some / directory
, просто запустите новый терминал и введите
grab machineX filename
Это помещает файл в ваш текущий рабочий каталог на локальный компьютер. Вы можете указать другое местоположение в качестве третьего аргумента для «захвата».
Примечание. Очевидно, что оба сценария должны быть «исполняемыми», то есть chmod u + x filename
.
Удивительно, но я не вижу упоминания о добром старшем Midnight Commander. На мой взгляд, это, наверное, самый универсальный & amp; полезный файловый менеджер для оболочки с мощными возможностями, один из инструментов «должен иметь» для случая, который также позволяет вам подключаться через SSH, FTP, SFTP, а на второй панели вы можете открыть любой другой (ваш локальной) файловой системы и, следовательно, работать с файлами свободно.
Все что вам нужно: apt-get install mc (from universe)
После этого запустите mc, откройте меню для левой или правой панели, выберите соединение с оболочкой, введите имя пользователя @ remote-ip, пароль - на самом деле, вот и все .. копировать (здесь: скачать) файлы / папки с одной машины на другую с F5, перемещаться с помощью F6 и т. д. согласно кнопкам ниже. Для старых пользователей MS: как и для NC для DOS
Это не связано с активным SSH-соединением, но scp копирует файлы, используя те же механизмы и разрешения, что и ssh.
Это невозможно для сеанса ssh по умолчанию, но вы можете использовать скрипт вместо ssh, который запускает что-то вроде простого ftp или rsh-сервера в вашей локальной системе и запускает ssh с необходимыми параметрами для настройки туннеля назад на ваш рабочий стол для подключения к этому серверу.
konsole
обладает этой способностью через меню «Редактировать-> ZModem Upload», когда вы находитесь в удаленном сеансе (или Ctrl-Alt-U).
Обратите внимание: пакет lrzsz
должен быть установлен первым. Для меня, похоже, работает только для загрузки файлов ASCII.
Поскольку вы подключаетесь с рабочего стола, я думаю, вы можете открыть второй терминал.
Так я часто делаю:
realpath myfile
, либо readlink -f myfile
(более старые версии Ubuntu не устанавливают realpath
) и копируют его. scp
или sftp
, чтобы получить файл, вставив полный путь, который я получил до этого. Например: scp user @ host: / etc / some / file ./
Это довольно просто, но его также легко запомнить и не нужно дополнительный пакет для работы.
Если ваш клиентский компьютер (машина, на которой вы сидите), называется машиной А, а машина, на которой вы в настоящее время подключены, называется машиной B. MachineA, ваша локальная машина должна иметь SSHD и открыть порт 22. Затем:
scp myfile machineA:
Копирует myfile
на MachineB в мой домашний каталог MachineA на machineA.
scp myfile machineA: / newdir / newname
Копии myfile
one MachineB to / newdir / новое имя
на machineA. Это предполагает, что идентификатор пользователя / пароль совпадают.
scp MachineA: / path / to / my / otherfile.
Получает копию otherfile
из моего каталога MachineA на MachineA и помещает его в мой текущий рабочий каталог на машине MachineB (обозначенном стандартным способом UNIX " dot "(.)).
Если идентификатор пользователя / пароль не совпадают, используйте:
scp myfile user @ MachineA:
, чтобы получить файл
scp user @ MachineA: / path / to / my / otherfile.
для размещения файлов
ПРИМЕЧАНИЯ о SCP:
Как и команда cp
, scp
имеет параметр -p для распространения настроек разрешения исходного файла на копию (в противном случае копия выполняется с обычными настройками для новые файлы) и параметр -r для копирования всего дерева каталогов с помощью одной команды.
scp
создает полностью прозрачный зашифрованный канал данных между двумя машинами, поэтому двоичные данные ( такие как изображения или исполняемые программы) сохраняется правильно. Это также означает, что scp
не может выполнить автоматическое окончательное окончание преобразования между различными типами операционных систем, что может быть сделано с ftp в режиме «ascii». Это не будет проблемой при копировании между Unix-системами, которые используют одно и то же соглашение конца строки.
Если ваш файл достаточно мал, вы можете закодировать его с помощью base64 и затем декодировать его локально:
remote.example.net $ base64 & lt; myfile (копировать вывод)
local.example.net $ base64 -d> myfile (скопировать вывод) Ctrl + D
Оригинальный ответ, где я получил это (и проверил ) from: https://unix.stackexchange.com/a/2869/194134
Предполагая, что вы используете ssh-сервер на рабочем столе (есть способы обойти это, но я думаю, что все они добавляют сложность и, возможно, проблемы с безопасностью), вы можете настроить обратный туннель ssh. См. [D0] SSH легко скопировать файл в локальную систему. в unix.SE .
~ C
Введите -R 22042: localhost: 22
Введите, чтобы создать обратную переадресацию порта с вашего сервера на ваш рабочий стол (22042 может быть любым номером порта от 1024 до 65534, который не используется). scp -P 22042 foo localhost:
скопирует файл foo
в ваш текущий каталог на сервере в ваш дом на рабочем столе. ~
Ctrl + Z mv ~ / foo.
Введите fg
Enter. Управляющие последовательности Ssh начинаются с ~
; тильда распознается только после новой строки. ~ Ctrl + Z
помещает ssh в фоновый режим. ~ C
входит в командную строку, где вы можете создать или удалить переадресацию.
Если ваш файл достаточно мал, вы можете закодировать его с помощью base64 и затем декодировать его локально:
remote.example.net $ base64 & lt; myfile (копировать вывод)
local.example.net $ base64 -d> myfile (скопировать вывод) Ctrl + D
Оригинальный ответ, где я получил это (и проверил ) from: https://unix.stackexchange.com/a/2869/194134
Если ваш клиентский компьютер (машина, на которой вы сидите), называется машиной А, а машина, на которой вы в настоящее время подключены, называется машиной B. MachineA, ваша локальная машина должна иметь SSHD и открыть порт 22. Затем:
scp myfile machineA:
Копирует myfile
на MachineB в мой домашний каталог MachineA на machineA.
scp myfile machineA: / newdir / newname
Копии myfile
one MachineB to / newdir / новое имя
на machineA. Это предполагает, что идентификатор пользователя / пароль совпадают.
scp MachineA: / path / to / my / otherfile.
Получает копию otherfile
из моего каталога MachineA на MachineA и помещает его в мой текущий рабочий каталог на машине MachineB (обозначенном стандартным способом UNIX " dot "(.)).
Если идентификатор пользователя / пароль не совпадают, используйте:
scp myfile user @ MachineA:
, чтобы получить файл
scp user @ MachineA: / path / to / my / otherfile.
для размещения файлов
ПРИМЕЧАНИЯ о SCP:
Как и команда cp
, scp
имеет параметр -p для распространения настроек разрешения исходного файла на копию (в противном случае копия выполняется с обычными настройками для новые файлы) и параметр -r для копирования всего дерева каталогов с помощью одной команды.
scp
создает полностью прозрачный зашифрованный канал данных между двумя машинами, поэтому двоичные данные ( такие как изображения или исполняемые программы) сохраняется правильно. Это также означает, что scp
не может выполнить автоматическое окончательное окончание преобразования между различными типами операционных систем, что может быть сделано с ftp в режиме «ascii». Это не будет проблемой при копировании между Unix-системами, которые используют одно и то же соглашение конца строки.
Поскольку вы подключаетесь с рабочего стола, я думаю, вы можете открыть второй терминал.
Так я часто делаю:
realpath myfile
, либо readlink -f myfile
(более старые версии Ubuntu не устанавливают realpath
) и копируют его. scp
или sftp
, чтобы получить файл, вставив полный путь, который я получил до этого. Например: scp user @ host: / etc / some / file ./
Это довольно просто, но его также легко запомнить и не нужно дополнительный пакет для работы.
Это невозможно для сеанса ssh по умолчанию, но вы можете использовать скрипт вместо ssh, который запускает что-то вроде простого ftp или rsh-сервера в вашей локальной системе и запускает ssh с необходимыми параметрами для настройки туннеля назад на ваш рабочий стол для подключения к этому серверу.
konsole
обладает этой способностью через меню «Редактировать-> ZModem Upload», когда вы находитесь в удаленном сеансе (или Ctrl-Alt-U).
Обратите внимание: пакет lrzsz
должен быть установлен первым. Для меня, похоже, работает только для загрузки файлов ASCII.
Это не связано с активным SSH-соединением, но scp копирует файлы, используя те же механизмы и разрешения, что и ssh.
get file
, и оно волшебным образом появляется на моей локальной машине. Если это нужно сделать через некоторую службу, туннелированную через SSH, пусть будет так. Но она должна быть связана с сеансом.
– Oli♦
15 November 2010 в 20:30
sshd
, и поэтому вы должны иметь возможность использовать scp
в командной строке сервера, чтобы выбросить файлы обратно к клиенту. Магия так много, что нужно ходить; иногда нам еще нужно нажимать кнопки. Решение FileZilla также удобно.
– zerobandwidth
13 September 2015 в 22:21
Удивительно, но я не вижу упоминания о добром старшем Midnight Commander. На мой взгляд, это, наверное, самый универсальный & amp; полезный файловый менеджер для оболочки с мощными возможностями, один из инструментов «должен иметь» для случая, который также позволяет вам подключаться через SSH, FTP, SFTP, а на второй панели вы можете открыть любой другой (ваш локальной) файловой системы и, следовательно, работать с файлами свободно.
Все что вам нужно: apt-get install mc (from universe)
После этого запустите mc, откройте меню для левой или правой панели, выберите соединение с оболочкой, введите имя пользователя @ remote-ip, пароль - на самом деле, вот и все .. копировать (здесь: скачать) файлы / папки с одной машины на другую с F5, перемещаться с помощью F6 и т. д. согласно кнопкам ниже. Для старых пользователей MS: как и для NC для DOS
Я придумал способ сделать это со стандартным ssh. Это скрипт, который дублирует текущее соединение ssh, находит ваш рабочий каталог на удаленном компьютере и копирует обратно указанный вами файл на локальный компьютер. Для конфигурации ssh требуется 2 очень маленьких скрипта (1 удаленный, 1 локальный) и 2 строки. Шаги следующие:
~ / .ssh / config
: ControlMaster auto ControlPath ~ / .ssh / socket-% r @% h:% p
Теперь, если у вас есть ssh-соединение с machineX open, вам не нужны пароли, чтобы открыть еще один. ~ / .grabCat.sh
\ #! / bin / bash & lt; br & gt; cat "$ (pwdx $ (pgrep -u $ (whoami) bash) | grep -o '/.*' | tail -n 1)" / $ 1
\ #! / bin / bash [-n "$ 3"] & amp; & amp; & amp; dir = "$ 3" || реж = "" ssh "$ 1" ".grabCat.sh $ 2" & gt; «$ dir / $ 2»
~ / .bashrc
или где угодно): alias grab = ~ / .grab.sh
Вот и все. Теперь, если вы вошли в machineX: / some / directory
, просто запустите новый терминал и введите
grab machineX filename
Это помещает файл в ваш текущий рабочий каталог на локальный компьютер. Вы можете указать другое местоположение в качестве третьего аргумента для «захвата».
Примечание. Очевидно, что оба сценария должны быть «исполняемыми», то есть chmod u + x filename
.
Предполагая, что вы используете ssh-сервер на рабочем столе (есть способы обойти это, но я думаю, что все они добавляют сложность и, возможно, проблемы с безопасностью), вы можете настроить обратный туннель ssh. См. [D0] SSH легко скопировать файл в локальную систему. в unix.SE .
~ C
Введите -R 22042: localhost: 22
Введите, чтобы создать обратную переадресацию порта с вашего сервера на ваш рабочий стол (22042 может быть любым номером порта от 1024 до 65534, который не используется). scp -P 22042 foo localhost:
скопирует файл foo
в ваш текущий каталог на сервере в ваш дом на рабочем столе. ~
Ctrl + Z mv ~ / foo.
Введите fg
Enter. Управляющие последовательности Ssh начинаются с ~
; тильда распознается только после новой строки. ~ Ctrl + Z
помещает ssh в фоновый режим. ~ C
входит в командную строку, где вы можете создать или удалить переадресацию.
, если вы получаете доступ к серверу через ssh, вы получаете возможность подключаться через sftp. Храните файл filezilla client (GUI) удобным и вставьте путь, в который вы сейчас находитесь
[!d0]