Если вам нужен только быстрый доступ к определенному каталогу в 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]
Возможно, вы захотите проверить zssh, который доступен в юниверсе и, следовательно, доступен с
sudo apt-get install zssh
Он вам нужен на вашем сервере ubuntu и на вашем клиенте, но в основном при входе в систему с помощью zssh вы просто нажимаете «ctrl- @», и в нем появляется «Режим передачи файлов», который позволяет отправлять файлы обратно на трубку на клиентскую машину или загружать их с клиента на сервер. [ ! d3]
Однако вам не нужно повторно открывать или открывать новое окно для scp.
Если вы используете ssh-ключи и агент ssh, вы можете легко сделать :
[enter]~[ctrl]-Z
Какой будет фон ssh, а затем просто scp $!:/whatever/whatever .'
Как только файл будет перенесен, fg, чтобы вернуть ssh.
Если вы не используете ssh-ключи, вы все равно можете использовать опции «ControlMaster» и «ControlPath», добавленные к последним версиям OpenSSh, но это становится сложным, проверьте man ssh_config
Возможно, вы захотите проверить zssh, который доступен в юниверсе и, следовательно, доступен с
sudo apt-get install zssh
Он вам нужен на вашем сервере ubuntu и на вашем клиенте, но в основном при входе в систему с помощью zssh вы просто нажимаете «ctrl- @», и в нем появляется «Режим передачи файлов», который позволяет отправлять файлы обратно на трубку на клиентскую машину или загружать их с клиента на сервер. [ ! d3]
Однако вам не нужно повторно открывать или открывать новое окно для scp.
Если вы используете ssh-ключи и агент ssh, вы можете легко сделать :
[enter]~[ctrl]-Z
Какой будет фон ssh, а затем просто scp $!:/whatever/whatever .'
Как только файл будет перенесен, fg, чтобы вернуть ssh.
Если вы не используете ssh-ключи, вы все равно можете использовать опции «ControlMaster» и «ControlPath», добавленные к последним версиям OpenSSh, но это становится сложным, проверьте man ssh_config
Возможно, вы захотите проверить zssh, который доступен в юниверсе и, следовательно, доступен с
sudo apt-get install zssh
Он вам нужен на вашем сервере ubuntu и на вашем клиенте, но в основном при входе в систему с помощью zssh вы просто нажимаете «ctrl- @», и в нем появляется «Режим передачи файлов», который позволяет отправлять файлы обратно на трубку на клиентскую машину или загружать их с клиента на сервер. [ ! d3]
Однако вам не нужно повторно открывать или открывать новое окно для scp.
Если вы используете ssh-ключи и агент ssh, вы можете легко сделать :
[enter]~[ctrl]-Z
Какой будет фон ssh, а затем просто scp $!:/whatever/whatever .'
Как только файл будет перенесен, fg, чтобы вернуть ssh.
Если вы не используете ssh-ключи, вы все равно можете использовать опции «ControlMaster» и «ControlPath», добавленные к последним версиям OpenSSh, но это становится сложным, проверьте man ssh_config
Возможно, вы захотите проверить zssh, который доступен в юниверсе и, следовательно, доступен с
sudo apt-get install zssh
Он вам нужен на вашем сервере ubuntu и на вашем клиенте, но в основном при входе в систему с помощью zssh вы просто нажимаете «ctrl- @», и в нем появляется «Режим передачи файлов», который позволяет отправлять файлы обратно на трубку на клиентскую машину или загружать их с клиента на сервер. [ ! d3]
Однако вам не нужно повторно открывать или открывать новое окно для scp.
Если вы используете ssh-ключи и агент ssh, вы можете легко сделать :
[enter]~[ctrl]-Z
Какой будет фон ssh, а затем просто scp $!:/whatever/whatever .'
Как только файл будет перенесен, fg, чтобы вернуть ssh.
Если вы не используете ssh-ключи, вы все равно можете использовать опции «ControlMaster» и «ControlPath», добавленные к последним версиям OpenSSh, но это становится сложным, проверьте man ssh_config
Возможно, вы захотите проверить zssh, который доступен в юниверсе и, следовательно, доступен с
sudo apt-get install zssh
Он вам нужен на вашем сервере ubuntu и на вашем клиенте, но в основном при входе в систему с помощью zssh вы просто нажимаете «ctrl- @», и в нем появляется «Режим передачи файлов», который позволяет отправлять файлы обратно на трубку на клиентскую машину или загружать их с клиента на сервер. [ ! d3]
Однако вам не нужно повторно открывать или открывать новое окно для scp.
Если вы используете ssh-ключи и агент ssh, вы можете легко сделать :
[enter]~[ctrl]-Z
Какой будет фон ssh, а затем просто scp $!:/whatever/whatever .'
Как только файл будет перенесен, fg, чтобы вернуть ssh.
Если вы не используете ssh-ключи, вы все равно можете использовать опции «ControlMaster» и «ControlPath», добавленные к последним версиям OpenSSh, но это становится сложным, проверьте man ssh_config
Возможно, вы захотите проверить zssh, который доступен в юниверсе и, следовательно, доступен с
sudo apt-get install zssh
Он вам нужен на вашем сервере ubuntu и на вашем клиенте, но в основном при входе в систему с помощью zssh вы просто нажимаете «ctrl- @», и в нем появляется «Режим передачи файлов», который позволяет отправлять файлы обратно на трубку на клиентскую машину или загружать их с клиента на сервер. [ ! d3]
Однако вам не нужно повторно открывать или открывать новое окно для scp.
Если вы используете ssh-ключи и агент ssh, вы можете легко сделать :
[enter]~[ctrl]-Z
Какой будет фон ssh, а затем просто scp $!:/whatever/whatever .'
Как только файл будет перенесен, fg, чтобы вернуть ssh.
Если вы не используете ssh-ключи, вы все равно можете использовать опции «ControlMaster» и «ControlPath», добавленные к последним версиям OpenSSh, но это становится сложным, проверьте man ssh_config
Вы можете проверить zssh , который доступен в юниверсе и, следовательно, доступен с
sudo apt-get install zssh
Вам это нужно на вашем сервере ubuntu и на вашем клиенте, но в основном при входе в систему с zssh вы просто нажимаете «ctrl- @», и он вызывает «Режим передачи файлов», который позволяет вам отправлять файлы обратно (! d7)
Однако вам не нужно повторно открывать или открывать новое окно для scp.
Если вы используете вы используете ssh-ключи и ssh-агент, вы можете легко сделать:
[enter] ~ [ctrl] -Z
Что будет background ssh, а затем просто scp $!: / whatever / whatever. '
Как только файл будет передан, fg
, чтобы вернуть ssh.
Если вы не используете ssh-ключи, вы все равно можете использовать опции «ControlMaster» и «ControlPath», добавленные к последним версиям OpenSSh, но это становится сложным, проверьте man ssh_config
Вы можете проверить zssh , который доступен в юниверсе и, следовательно, доступен с
sudo apt-get install zssh
Вам это нужно на вашем сервере ubuntu и на вашем клиенте, но в основном при входе в систему с zssh вы просто нажимаете «ctrl- @», и он вызывает «Режим передачи файлов», который позволяет вам отправлять файлы обратно (! d7)
Однако вам не нужно повторно открывать или открывать новое окно для scp.
Если вы используете вы используете ssh-ключи и ssh-агент, вы можете легко сделать:
[enter] ~ [ctrl] -Z
Что будет background ssh, а затем просто scp $!: / whatever / whatever. '
Как только файл будет передан, fg
, чтобы вернуть ssh.
Если вы не используете ssh-ключи, вы все равно можете использовать опции «ControlMaster» и «ControlPath», добавленные к последним версиям OpenSSh, но это становится сложным, проверьте man ssh_config
Вы можете проверить zssh , который доступен в юниверсе и, следовательно, доступен с
sudo apt-get install zssh
Вам это нужно на вашем сервере ubuntu и на вашем клиенте, но в основном при входе в систему с zssh вы просто нажимаете «ctrl- @», и он вызывает «Режим передачи файлов», который позволяет вам отправлять файлы обратно (! d7)
Однако вам не нужно повторно открывать или открывать новое окно для scp.
Если вы используете вы используете ssh-ключи и ssh-агент, вы можете легко сделать:
[enter] ~ [ctrl] -Z
Что будет background ssh, а затем просто scp $!: / whatever / whatever. '
Как только файл будет передан, fg
, чтобы вернуть ssh.
Если вы не используете ssh-ключи, вы все равно можете использовать опции «ControlMaster» и «ControlPath», добавленные к последним версиям OpenSSh, но это становится сложным, проверьте man ssh_config
Вы можете проверить zssh , который доступен в юниверсе и, следовательно, доступен с
sudo apt-get install zssh
Вам это нужно на вашем сервере ubuntu и на вашем клиенте, но в основном при входе в систему с zssh вы просто нажимаете «ctrl- @», и он вызывает «Режим передачи файлов», который позволяет вам отправлять файлы обратно (! d7)
Однако вам не нужно повторно открывать или открывать новое окно для scp.
Если вы используете вы используете ssh-ключи и ssh-агент, вы можете легко сделать:
[enter] ~ [ctrl] -Z
Что будет background ssh, а затем просто scp $!: / whatever / whatever. '
Как только файл будет передан, fg
, чтобы вернуть ssh.
Если вы не используете ssh-ключи, вы все равно можете использовать опции «ControlMaster» и «ControlPath», добавленные к последним версиям OpenSSh, но это становится сложным, проверьте man ssh_config
Вы можете проверить zssh , который доступен в юниверсе и, следовательно, доступен с
sudo apt-get install zssh
Вам это нужно на вашем сервере ubuntu и на вашем клиенте, но в основном при входе в систему с zssh вы просто нажимаете «ctrl- @», и он вызывает «Режим передачи файлов», который позволяет вам отправлять файлы обратно (! d7)
Однако вам не нужно повторно открывать или открывать новое окно для scp.
Если вы используете вы используете ssh-ключи и ssh-агент, вы можете легко сделать:
[enter] ~ [ctrl] -Z
Что будет background ssh, а затем просто scp $!: / whatever / whatever. '
Как только файл будет передан, fg
, чтобы вернуть ssh.
Если вы не используете ssh-ключи, вы все равно можете использовать опции «ControlMaster» и «ControlPath», добавленные к последним версиям OpenSSh, но это становится сложным, проверьте man ssh_config
Предполагая, что вы используете ssh-сервер на своем рабочем столе (есть способы обойти это, но я думаю, что все они добавляют сложность и, возможно, проблемы с безопасностью), вы можете настроить обратный туннель ssh. См. SSH, который легко копирует файл в локальную систему.
Введите Enter ~C Введите -R 22042:localhost:22 Enter, чтобы создать обратную переадресацию порта с вашего сервера на ваш рабочий стол (22042 может быть любым номером порта от 1024 до 65534, который не используется ). Затем scp -P 22042 foo localhost: скопирует файл foo в ваш текущий каталог на сервере в ваш дом на рабочем столе. Теперь переместите файл в ваш текущий каталог на рабочем столе, набрав Enter ~ Ctrl + Z mv ~/foo . Enter fg Enter.SSH легко копирует файл в локальную систему. начинается с ~; тильда распознается только после новой строки. ~ Ctrl+Z помещает ssh в фоновый режим. ~C входит в командную строку, где вы можете создать или удалить переадресацию.
Я придумал способ сделать это со стандартным ssh. Это скрипт, который дублирует текущее соединение ssh, находит ваш рабочий каталог на удаленном компьютере и копирует обратно указанный вами файл на локальный компьютер. Для конфигурации ssh требуется 2 очень маленьких скрипта (1 удаленный, 1 локальный) и 2 строки. Шаги следующие:
Добавьте эти 2 строки к вашему ~/.ssh/config:ControlMaster auto
ControlPath ~/.ssh/socket-%r@%h:%p
Теперь, если у вас есть ssh-соединение с machineX open, вам не нужны пароли, чтобы открыть другой. Создайте 1-строчный скрипт на удаленном компьютере под названием ~/.grabCat.sh \#!/bin/bash<br>
cat "$(pwdx $(pgrep -u $(whoami) bash) | grep -o '/.*' | tail -n 1)"/$1
Создайте сценарий на локальном компьютере с именем ~ / .grab.sh \#!/bin/bash
[ -n "$3" ] && dir="$3" || dir="."
ssh "$1" ".grabCat.sh $2" > "$dir/$2"
и создайте псевдоним для grab.sh in (~/.bashrc или где угодно) : alias grab=~/.grab.sh
Вот и все. Теперь, если вы вошли в machineX:/some/directory, просто запустите новый терминал и введите
grab machineX filename
. Он помещает файл в ваш текущий рабочий каталог на локальном компьютере. Вы можете указать другое местоположение в качестве третьего аргумента для «захвата».
Примечание. Очевидно, что оба сценария должны быть «исполняемыми», то есть chmod u+x filename.
Если ваш клиентский компьютер (машина, на которой вы сидите), называется машиной А, а машина, на которой вы в настоящее время подключены SSH, называется машиной B. MachineA, ваша локальная машина должна иметь SSHD и открыть порт 22. Затем:
scp myfile machineA:
Копирует myfile на MachineB в мой домашний каталог MachineA на machineA. Это предполагает, что идентификатор пользователя / пароль совпадают.
scp myfile machineA:/newdir/newname
Копирует myfile один MachineB на /newdir/newname на machineA.
scp MachineA:/path/to/my/otherfile .
Получает копию otherfile из моего каталога MachineA на MachineA и помещает ее в мой текущий рабочий каталог на машине MachineB (обозначается стандартным способом UNIX символом «точка» (.)).
Если идентификатор пользователя / пароль не совпадают, используйте:
scp myfile user@MachineA:, чтобы получить файл.
[ f9] для размещения файлов
ПРИМЕЧАНИЯ о SCP:
Как и команда cp, scp имеет параметр -p для распространения настроек разрешения исходного файла на копия (в противном случае копия выполняется с обычными настройками для новых файлов) и параметр -r для копирования всего дерева каталогов с помощью одной команды.
scp создает полностью прозрачный зашифрованный канал данных между две машины, поэтому двоичные данные (например, изображения или исполняемые программы) сохраняются правильно. Это также означает, что scp не может выполнить автоматическое окончательное окончание преобразования между различными типами операционных систем, как это может быть сделано с ftp в режиме «ascii». Это не будет проблемой при копировании между Unix-системами, которые используют одно и то же соглашение конца строки.
, если вы получаете доступ к серверу через ssh, вы получаете возможность подключаться через sftp. Храните файл filezilla client (GUI) удобным и вставьте путь, в котором вы сейчас находитесь
Это не над активным соединением SSH, но scp копирует файлы, используя те же механизмы и разрешения, что и ssh.
Это невозможно для сеанса ssh по умолчанию, но вы можете использовать скрипт вместо ssh, который запускает что-то вроде простого ftp или rsh-сервера в вашей локальной системе и запускает ssh с необходимыми параметрами для настройки туннеля назад на ваш рабочий стол для подключения к этому серверу.
konsole обладает этой способностью через меню «Редактировать-> ZModem Upload», когда вы находитесь в удаленном сеансе (или Ctrl-Alt-U).
Обратите внимание: пакет lrzsz должен быть установленный первым. Для меня, похоже, работает только для загрузки файлов ASCII.
Если ваш файл достаточно мал, вы можете закодировать его с base64 и затем его локализовать локально:
remote.example.net$ base64 <myfile (copy the output) local.example.net$ base64 -d >myfile (copy the output) Ctrl+DОригинальный ответ, где я получил это (и протестировал): https: / /unix.stackexchange.com/a/2869/194134
Поскольку вы подключаетесь с рабочего стола, я думаю, вы можете открыть второй терминал.
Вот как я часто это делаю:
из первого терминала, тот, где выполняется сеанс ssh, я получаю полный путь к файлу, который мне нужно получить, используя либо realpath myfile или readlink -f myfile (более старые версии Ubuntu не предустанавливают realpath) и копируют его. из второго терминала я использую scp или sftp, чтобы получить файл, вставив полный путь, который я получил до этого. Например: scp user@host:/etc/some/file ./Это довольно простой, но он также легко запоминается и не нуждается в дополнительном пакете для работы.
Если ваш файл достаточно мал, вы можете закодировать его с base64 и затем его локализовать локально:
remote.example.net$ base64 <myfile (copy the output) local.example.net$ base64 -d >myfile (copy the output) Ctrl+DОригинальный ответ, где я получил это (и протестировал): https: / /unix.stackexchange.com/a/2869/194134
Если ваш клиентский компьютер (машина, на которой вы сидите), называется машиной А, а машина, на которой вы в настоящее время подключены SSH, называется машиной B. MachineA, ваша локальная машина должна иметь SSHD и открыть порт 22. Затем:
scp myfile machineA:
Копирует myfile на MachineB в мой домашний каталог MachineA на machineA. Это предполагает, что идентификатор пользователя / пароль совпадают.
scp myfile machineA:/newdir/newname
Копирует myfile один MachineB на /newdir/newname на machineA.
scp MachineA:/path/to/my/otherfile .
Получает копию otherfile из моего каталога MachineA на MachineA и помещает ее в мой текущий рабочий каталог на машине MachineB (обозначается стандартным способом UNIX символом «точка» (.)).
Если идентификатор пользователя / пароль не совпадают, используйте:
scp myfile user@MachineA:, чтобы получить файл.
scp user@MachineA:/path/to/my/otherfile . для размещения файлов
ПРИМЕЧАНИЯ о SCP:
Как и команда cp, scp имеет параметр -p для распространения настроек разрешения исходного файла на копия (в противном случае копия выполняется с обычными настройками для новых файлов) и параметр -r для копирования всего дерева каталогов с помощью одной команды.
scp создает полностью прозрачный зашифрованный канал данных между две машины, поэтому двоичные данные (например, изображения или исполняемые программы) сохраняются правильно. Это также означает, что scp не может выполнить автоматическое окончательное окончание преобразования между различными типами операционных систем, как это может быть сделано с ftp в режиме «ascii». Это не будет проблемой при копировании между Unix-системами, которые используют одно и то же соглашение конца строки.
Поскольку вы подключаетесь с рабочего стола, я думаю, вы можете открыть второй терминал.
Вот как я часто это делаю:
из первого терминала, тот, где выполняется сеанс ssh, я получаю полный путь к файлу, который мне нужно получить, используя либо 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.
Удивительно, но я не вижу упоминания о добром старшем Midnight Commander. На мой взгляд, это, наверное, самый универсальный & amp; полезный файловый менеджер для оболочки с мощными возможностями, один из инструментов «должен иметь» для случая, который также позволяет вам подключаться через SSH, FTP, SFTP, а на второй панели вы можете открыть любой другой (ваш локальной) файловой системы и, следовательно, работать с файлами свободно.
Все, что вам нужно, это: Midnight Commander (из юниверса)
После этого запустите mc, откройте меню для левой или правой панели, выберите соединение с оболочкой , введите имя пользователя @ remote-ip, пароль - на самом деле, вот и все .. копировать (здесь: скачать) файлы / папки с одной машины на другую с помощью F5, перемещаться с помощью F6 и т. д. согласно кнопкам ниже. Для старых пользователей MS: как в NC для DOS
Я придумал способ сделать это со стандартным ssh. Это скрипт, который дублирует текущее соединение ssh, находит ваш рабочий каталог на удаленном компьютере и копирует обратно указанный вами файл на локальный компьютер. Для конфигурации ssh требуется 2 очень маленьких скрипта (1 удаленный, 1 локальный) и 2 строки. Шаги следующие:
Добавьте эти 2 строки к вашему ~/.ssh/config:ControlMaster auto
ControlPath ~/.ssh/socket-%r@%h:%p
Теперь, если у вас есть ssh-соединение с machineX open, вам не нужны пароли, чтобы открыть другой. Создайте 1-строчный скрипт на удаленном компьютере под названием ~/.grabCat.sh \#!/bin/bash<br>
cat "$(pwdx $(pgrep -u $(whoami) bash) | grep -o '/.*' | tail -n 1)"/$1
Создайте сценарий на локальном компьютере с именем ~ / .grab.sh \#!/bin/bash
[ -n "$3" ] && dir="$3" || dir="."
ssh "$1" ".grabCat.sh $2" > "$dir/$2"
и создайте псевдоним для grab.sh in (~/.bashrc или где угодно) : alias grab=~/.grab.sh
Вот и все. Теперь, если вы вошли в machineX:/some/directory, просто запустите новый терминал и введите
grab machineX filename
. Он помещает файл в ваш текущий рабочий каталог на локальном компьютере. Вы можете указать другое местоположение в качестве третьего аргумента для «захвата».
Примечание. Очевидно, что оба сценария должны быть «исполняемыми», то есть chmod u+x filename.
Предполагая, что вы используете ssh-сервер на своем рабочем столе (есть способы обойти это, но я думаю, что все они добавляют сложность и, возможно, проблемы с безопасностью), вы можете настроить обратный туннель ssh. См. SSH, который легко копирует файл в локальную систему.
Введите Enter ~C Введите -R 22042:localhost:22 Enter, чтобы создать обратную переадресацию порта с вашего сервера на ваш рабочий стол (22042 может быть любым номером порта от 1024 до 65534, который не используется ). Затем scp -P 22042 foo localhost: скопирует файл foo в ваш текущий каталог на сервере в ваш дом на рабочем столе. Теперь переместите файл в ваш текущий каталог на рабочем столе, набрав Enter ~ Ctrl + Z mv ~/foo . Enter fg Enter.SSH легко копирует файл в локальную систему. начинается с ~; тильда распознается только после новой строки. ~ Ctrl+Z помещает ssh в фоновый режим. ~C входит в командную строку, где вы можете создать или удалить переадресацию.
Если ваш файл достаточно мал, вы можете закодировать его с base64 и затем его локализовать локально:
remote.example.net$ base64 <myfile (copy the output) local.example.net$ base64 -d >myfile (copy the output) Ctrl+DОригинальный ответ, где я получил это (и протестировал): https: / /unix.stackexchange.com/a/2869/194134