Загрузите файл через активную сессию SSH

Если вам нужен только быстрый доступ к определенному каталогу в 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]

83
задан 15 November 2010 в 18:59

111 ответов

konsole обладает этой способностью через меню «Редактировать-> ZModem Upload», когда вы находитесь в удаленном сеансе (или Ctrl-Alt-U).

Обратите внимание: пакет lrzsz должен быть установленный первым. Для меня, похоже, работает только для загрузки файлов ASCII.

2
ответ дан 2 August 2018 в 04:16
  • 1
    Это поможет более подробно, включая подключение к SSH-серверу с FileZilla (это не очевидно). Скриншоты также могут помочь, в дополнение к пояснительному тексту . – Eliah Kagan 8 September 2012 в 11:49

Это не над активным соединением SSH, но scp копирует файлы, используя те же механизмы и разрешения, что и ssh.

1
ответ дан 2 August 2018 в 04:16
  • 1
    Я знаю scp, но это очень разрозненный рабочий процесс. Если я работаю в данном удаленном каталоге, мне нужно получить удаленный путь, отключить (или создать другую оболочку), выполнить scping, выписывая пути, а затем снова подключаться. Я ищу что-то, что сродни написанию get file, и оно волшебным образом появляется на моей локальной машине. Если это нужно сделать через некоторую службу, туннелированную через SSH, пусть будет так. Но она должна быть связана с сеансом. – Oli♦ 15 November 2010 в 20:30
  • 2
    Плюс это было заменено sftp (см. Мой ответ) – Olivier Lalonde 16 November 2010 в 05:40
  • 3
    @Oli. Поскольку оба конца транзакции - это * nix-боксы, они, вероятно, оба sshd работают, и поэтому вы должны иметь возможность использовать scp в командной строке сервера для возврата файлов обратно клиенту. Магия так много, что нужно ходить; иногда нам еще нужно нажимать кнопки. Решение FileZilla также удобно. – zerobandwidth 13 September 2015 в 22:21

Удивительно, но я не вижу упоминания о добром старшем Midnight Commander. На мой взгляд, это, наверное, самый универсальный & amp; полезный файловый менеджер для оболочки с мощными возможностями, один из инструментов «должен иметь» для случая, который также позволяет вам подключаться через SSH, FTP, SFTP, а на второй панели вы можете открыть любой другой (ваш локальной) файловой системы и, следовательно, работать с файлами свободно.

Все, что вам нужно, это: Midnight Commander (из юниверса)

После этого запустите mc, откройте меню для левой или правой панели, выберите соединение с оболочкой , введите имя пользователя @ remote-ip, пароль - на самом деле, вот и все .. копировать (здесь: скачать) файлы / папки с одной машины на другую с помощью F5, перемещаться с помощью F6 и т. д. согласно кнопкам ниже. Для старых пользователей MS: как в NC для DOS

0
ответ дан 2 August 2018 в 04:16

Я придумал способ сделать это со стандартным 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.

10
ответ дан 2 August 2018 в 04:16
  • 1
    Интересно, не могли бы вы объяснить, как это работает? Можете ли вы расширить это для поддержки & quot; put & quot; файлы, а также захват их? – Peter Gibson 22 June 2014 в 05:55

Предполагая, что вы используете 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 входит в командную строку, где вы можете создать или удалить переадресацию.

24
ответ дан 2 August 2018 в 04:16
  • 1
    Использование 2-х уровней шифрования & amp; сжатие немного перебор, поэтому я предложил использовать rsh или ftp для «обратной ссылки». – JanC 16 November 2010 в 04:30
  • 2
    @JanC: для этого требуется больше настроек: вам нужно установить сервер rsh или ftp и убедиться, что его конфигурация безопасна. Накладные расходы на шифрование минимальны даже на нетбуке. – Gilles 16 November 2010 в 04:42
  • 3
    По умолчанию ssh-сервер также не установлен. ;) – JanC 16 November 2010 в 04:50
  • 4
    @JanC: Еще одно преимущество ssh в том, что если вы включили переадресацию агента, вам не нужно будет вводить пароль для копирования. Эффективность рабочего процесса над вычислительной микроэффективностью. – Gilles 16 November 2010 в 12:23
  • 5
    Конечно, вы можете сделать что-то подобное (некоторые) и другие услуги. В любом случае есть несколько подобных решений, которые связаны с настройкой туннелированного подключения и дополнительного демона ...;) – JanC 16 November 2010 в 12:56

Если ваш файл достаточно мал, вы можете закодировать его с помощью base64 и затем декодировать его локально:

 remote.example.net $ base64 & lt; myfile  (копировать вывод)   
 local.example.net $ base64 -d> myfile  (скопировать вывод)  Ctrl + D 

Оригинальный ответ, где я получил это (и проверил ) from: https://unix.stackexchange.com/a/2869/194134

1
ответ дан 4 August 2018 в 20:22

Предполагая, что вы используете ssh-сервер на рабочем столе (есть способы обойти это, но я думаю, что все они добавляют сложность и, возможно, проблемы с безопасностью), вы можете настроить обратный туннель ssh. См. [D0] SSH легко скопировать файл в локальную систему. в unix.SE .

  • Введите Enter ~ C Введите -R 22042: localhost: 22 Введите, чтобы создать обратную переадресацию порта с вашего сервера на ваш рабочий стол (22042 может быть любым номером порта от 1024 до 65534, который не используется).
  • Затем scp -P 22042 foo localhost: скопирует файл foo в ваш текущий каталог на сервере в ваш дом на рабочем столе.
  • Теперь переместите файл в ваш текущий каталог на рабочем столе, набрав Enter ~ Ctrl + Z mv ~ / foo. Введите fg Enter.

Управляющие последовательности Ssh начинаются с ~ ; тильда распознается только после новой строки. ~ Ctrl + Z помещает ssh в фоновый режим. ~ C входит в командную строку, где вы можете создать или удалить переадресацию.

24
ответ дан 4 August 2018 в 20:22

Удивительно, но я не вижу упоминания о добром старшем Midnight Commander. На мой взгляд, это, наверное, самый универсальный & amp; полезный файловый менеджер для оболочки с мощными возможностями, один из инструментов «должен иметь» для случая, который также позволяет вам подключаться через SSH, FTP, SFTP, а на второй панели вы можете открыть любой другой (ваш локальной) файловой системы и, следовательно, работать с файлами свободно.

Все что вам нужно: apt-get install mc (from universe)

После этого запустите mc, откройте меню для левой или правой панели, выберите соединение с оболочкой, введите имя пользователя @ remote-ip, пароль - на самом деле, вот и все .. копировать (здесь: скачать) файлы / папки с одной машины на другую с F5, перемещаться с помощью F6 и т. д. согласно кнопкам ниже. Для старых пользователей MS: как и для NC для DOS

0
ответ дан 4 August 2018 в 20:22

Я придумал способ сделать это со стандартным ssh. Это скрипт, который дублирует текущее соединение ssh, находит ваш рабочий каталог на удаленном компьютере и копирует обратно указанный вами файл на локальный компьютер. Для конфигурации ssh требуется 2 очень маленьких скрипта (1 удаленный, 1 локальный) и 2 строки. Шаги следующие:

  1. Добавьте эти 2 строки в ваш ~ / .ssh / config : ControlMaster auto ControlPath ~ / .ssh / socket-% r @% h:% p Теперь, если у вас есть ssh-соединение с machineX open, вам не нужны пароли, чтобы открыть еще один.
  2. Сделайте 1-строчный скрипт на удаленном компьютере под названием ~ / .grabCat.sh \ #! / bin / bash & lt; br & gt; cat "$ (pwdx $ (pgrep -u $ (whoami) bash) | grep -o '/.*' | tail -n 1)" / $ 1
  3. Сделать сценарий на локальный компьютер под названием ~ / .grab.sh \ #! / bin / bash [-n "$ 3"] & amp; & amp; & amp; dir = "$ 3" || реж = "" ssh "$ 1" ".grabCat.sh $ 2" & gt; «$ dir / $ 2»
  4. и сделайте псевдоним для grab.sh in ( ~ / .bashrc или где угодно): alias grab = ~ / .grab.sh

Вот и все. Теперь, если вы вошли в machineX: / some / directory , просто запустите новый терминал и введите

  grab machineX filename  

Это помещает файл в ваш текущий рабочий каталог на локальный компьютер. Вы можете указать другое местоположение в качестве третьего аргумента для «захвата».

Примечание. Очевидно, что оба сценария должны быть «исполняемыми», то есть chmod u + x filename .

10
ответ дан 4 August 2018 в 20:22

Это не связано с активным SSH-соединением, но scp копирует файлы, используя те же механизмы и разрешения, что и ssh.

1
ответ дан 4 August 2018 в 20:22

Это невозможно для сеанса ssh по умолчанию, но вы можете использовать скрипт вместо ssh, который запускает что-то вроде простого ftp или rsh-сервера в вашей локальной системе и запускает ssh с необходимыми параметрами для настройки туннеля назад на ваш рабочий стол для подключения к этому серверу.

1
ответ дан 4 August 2018 в 20:22

konsole обладает этой способностью через меню «Редактировать-> ZModem Upload», когда вы находитесь в удаленном сеансе (или Ctrl-Alt-U).

Обратите внимание: пакет lrzsz должен быть установлен первым. Для меня, похоже, работает только для загрузки файлов ASCII.

2
ответ дан 4 August 2018 в 20:22

Если ваш клиентский компьютер (машина, на которой вы сидите), называется машиной А, а машина, на которой вы в настоящее время подключены, называется машиной 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-системами, которые используют одно и то же соглашение конца строки.

5
ответ дан 4 August 2018 в 20:22

Поскольку вы подключаетесь с рабочего стола, я думаю, вы можете открыть второй терминал.

Так я часто делаю:

  • из первого терминала, тот, где выполняется сеанс ssh, я получаю полный путь к файлу, который мне нужно получить , используя либо realpath myfile , либо readlink -f myfile (более старые версии Ubuntu не устанавливают realpath ) и копируют его.
  • из второго терминала я использую scp или sftp , чтобы получить файл, вставив полный путь, который я получил до этого. Например: scp user @ host: / etc / some / file ./

Это довольно просто, но его также легко запомнить и не нужно дополнительный пакет для работы.

0
ответ дан 4 August 2018 в 20:22

Предполагая, что вы используете ssh-сервер на рабочем столе (есть способы обойти это, но я думаю, что все они добавляют сложность и, возможно, проблемы с безопасностью), вы можете настроить обратный туннель ssh. См. [D0] SSH легко скопировать файл в локальную систему. в unix.SE .

  • Введите Enter ~ C Введите -R 22042: localhost: 22 Введите, чтобы создать обратную переадресацию порта с вашего сервера на ваш рабочий стол (22042 может быть любым номером порта от 1024 до 65534, который не используется).
  • Затем scp -P 22042 foo localhost: скопирует файл foo в ваш текущий каталог на сервере в ваш дом на рабочем столе.
  • Теперь переместите файл в ваш текущий каталог на рабочем столе, набрав Enter ~ Ctrl + Z mv ~ / foo. Введите fg Enter.

Управляющие последовательности Ssh начинаются с ~ ; тильда распознается только после новой строки. ~ Ctrl + Z помещает ssh в фоновый режим. ~ C входит в командную строку, где вы можете создать или удалить переадресацию.

24
ответ дан 6 August 2018 в 04:21

Я придумал способ сделать это со стандартным ssh. Это скрипт, который дублирует текущее соединение ssh, находит ваш рабочий каталог на удаленном компьютере и копирует обратно указанный вами файл на локальный компьютер. Для конфигурации ssh требуется 2 очень маленьких скрипта (1 удаленный, 1 локальный) и 2 строки. Шаги следующие:

  1. Добавьте эти 2 строки в ваш ~ / .ssh / config : ControlMaster auto ControlPath ~ / .ssh / socket-% r @% h:% p Теперь, если у вас есть ssh-соединение с machineX open, вам не нужны пароли, чтобы открыть еще один.
  2. Сделайте 1-строчный скрипт на удаленном компьютере под названием ~ / .grabCat.sh \ #! / bin / bash & lt; br & gt; cat "$ (pwdx $ (pgrep -u $ (whoami) bash) | grep -o '/.*' | tail -n 1)" / $ 1
  3. Сделать сценарий на локальный компьютер под названием ~ / .grab.sh \ #! / bin / bash [-n "$ 3"] & amp; & amp; & amp; dir = "$ 3" || реж = "" ssh "$ 1" ".grabCat.sh $ 2" & gt; «$ dir / $ 2»
  4. и сделайте псевдоним для grab.sh in ( ~ / .bashrc или где угодно): alias grab = ~ / .grab.sh

Вот и все. Теперь, если вы вошли в machineX: / some / directory , просто запустите новый терминал и введите

  grab machineX filename  

Это помещает файл в ваш текущий рабочий каталог на локальный компьютер. Вы можете указать другое местоположение в качестве третьего аргумента для «захвата».

Примечание. Очевидно, что оба сценария должны быть «исполняемыми», то есть chmod u + x filename .

10
ответ дан 6 August 2018 в 04:21

Это не связано с активным SSH-соединением, но scp копирует файлы, используя те же механизмы и разрешения, что и ssh.

1
ответ дан 6 August 2018 в 04:21

Удивительно, но я не вижу упоминания о добром старшем Midnight Commander. На мой взгляд, это, наверное, самый универсальный & amp; полезный файловый менеджер для оболочки с мощными возможностями, один из инструментов «должен иметь» для случая, который также позволяет вам подключаться через SSH, FTP, SFTP, а на второй панели вы можете открыть любой другой (ваш локальной) файловой системы и, следовательно, работать с файлами свободно.

Все что вам нужно: apt-get install mc (from universe)

После этого запустите mc, откройте меню для левой или правой панели, выберите соединение с оболочкой, введите имя пользователя @ remote-ip, пароль - на самом деле, вот и все .. копировать (здесь: скачать) файлы / папки с одной машины на другую с F5, перемещаться с помощью F6 и т. д. согласно кнопкам ниже. Для старых пользователей MS: как и для NC для DOS

0
ответ дан 6 August 2018 в 04:21

Это невозможно для сеанса ssh по умолчанию, но вы можете использовать скрипт вместо ssh, который запускает что-то вроде простого ftp или rsh-сервера в вашей локальной системе и запускает ssh с необходимыми параметрами для настройки туннеля назад на ваш рабочий стол для подключения к этому серверу.

1
ответ дан 6 August 2018 в 04:21

konsole обладает этой способностью через меню «Редактировать-> ZModem Upload», когда вы находитесь в удаленном сеансе (или Ctrl-Alt-U).

Обратите внимание: пакет lrzsz должен быть установлен первым. Для меня, похоже, работает только для загрузки файлов ASCII.

2
ответ дан 6 August 2018 в 04:21

Поскольку вы подключаетесь с рабочего стола, я думаю, вы можете открыть второй терминал.

Так я часто делаю:

  • из первого терминала, тот, где выполняется сеанс ssh, я получаю полный путь к файлу, который мне нужно получить , используя либо realpath myfile , либо readlink -f myfile (более старые версии Ubuntu не устанавливают realpath ) и копируют его.
  • из второго терминала я использую scp или sftp , чтобы получить файл, вставив полный путь, который я получил до этого. Например: scp user @ host: / etc / some / file ./

Это довольно просто, но его также легко запомнить и не нужно дополнительный пакет для работы.

0
ответ дан 6 August 2018 в 04:21

Если ваш файл достаточно мал, вы можете закодировать его с помощью base64 и затем декодировать его локально:

 remote.example.net $ base64 & lt; myfile  (копировать вывод)   
 local.example.net $ base64 -d> myfile  (скопировать вывод)  Ctrl + D 

Оригинальный ответ, где я получил это (и проверил ) from: https://unix.stackexchange.com/a/2869/194134

1
ответ дан 6 August 2018 в 04:21

Если ваш клиентский компьютер (машина, на которой вы сидите), называется машиной А, а машина, на которой вы в настоящее время подключены, называется машиной 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-системами, которые используют одно и то же соглашение конца строки.

5
ответ дан 6 August 2018 в 04:21

Предполагая, что вы используете ssh-сервер на рабочем столе (есть способы обойти это, но я думаю, что все они добавляют сложность и, возможно, проблемы с безопасностью), вы можете настроить обратный туннель ssh. См. [D0] SSH легко скопировать файл в локальную систему. в unix.SE .

  • Введите Enter ~ C Введите -R 22042: localhost: 22 Введите, чтобы создать обратную переадресацию порта с вашего сервера на ваш рабочий стол (22042 может быть любым номером порта от 1024 до 65534, который не используется).
  • Затем scp -P 22042 foo localhost: скопирует файл foo в ваш текущий каталог на сервере в ваш дом на рабочем столе.
  • Теперь переместите файл в ваш текущий каталог на рабочем столе, набрав Enter ~ Ctrl + Z mv ~ / foo. Введите fg Enter.

Управляющие последовательности Ssh начинаются с ~ ; тильда распознается только после новой строки. ~ Ctrl + Z помещает ssh в фоновый режим. ~ C входит в командную строку, где вы можете создать или удалить переадресацию.

24
ответ дан 7 August 2018 в 22:27

Я придумал способ сделать это со стандартным ssh. Это скрипт, который дублирует текущее соединение ssh, находит ваш рабочий каталог на удаленном компьютере и копирует обратно указанный вами файл на локальный компьютер. Для конфигурации ssh требуется 2 очень маленьких скрипта (1 удаленный, 1 локальный) и 2 строки. Шаги следующие:

  1. Добавьте эти 2 строки в ваш ~ / .ssh / config : ControlMaster auto ControlPath ~ / .ssh / socket-% r @% h:% p Теперь, если у вас есть ssh-соединение с machineX open, вам не нужны пароли, чтобы открыть еще один.
  2. Сделайте 1-строчный скрипт на удаленном компьютере под названием ~ / .grabCat.sh \ #! / bin / bash & lt; br & gt; cat "$ (pwdx $ (pgrep -u $ (whoami) bash) | grep -o '/.*' | tail -n 1)" / $ 1
  3. Сделать сценарий на локальный компьютер под названием ~ / .grab.sh \ #! / bin / bash [-n "$ 3"] & amp; & amp; & amp; dir = "$ 3" || реж = "" ssh "$ 1" ".grabCat.sh $ 2" & gt; «$ dir / $ 2»
  4. и сделайте псевдоним для grab.sh in ( ~ / .bashrc или где угодно): alias grab = ~ / .grab.sh

Вот и все. Теперь, если вы вошли в machineX: / some / directory , просто запустите новый терминал и введите

  grab machineX filename  

Это помещает файл в ваш текущий рабочий каталог на локальный компьютер. Вы можете указать другое местоположение в качестве третьего аргумента для «захвата».

Примечание. Очевидно, что оба сценария должны быть «исполняемыми», то есть chmod u + x filename .

10
ответ дан 7 August 2018 в 22:27

Это не связано с активным SSH-соединением, но scp копирует файлы, используя те же механизмы и разрешения, что и ssh.

1
ответ дан 7 August 2018 в 22:27

Удивительно, но я не вижу упоминания о добром старшем Midnight Commander. На мой взгляд, это, наверное, самый универсальный & amp; полезный файловый менеджер для оболочки с мощными возможностями, один из инструментов «должен иметь» для случая, который также позволяет вам подключаться через SSH, FTP, SFTP, а на второй панели вы можете открыть любой другой (ваш локальной) файловой системы и, следовательно, работать с файлами свободно.

Все что вам нужно: apt-get install mc (from universe)

После этого запустите mc, откройте меню для левой или правой панели, выберите соединение с оболочкой, введите имя пользователя @ remote-ip, пароль - на самом деле, вот и все .. копировать (здесь: скачать) файлы / папки с одной машины на другую с F5, перемещаться с помощью F6 и т. д. согласно кнопкам ниже. Для старых пользователей MS: как и для NC для DOS

0
ответ дан 7 August 2018 в 22:27

Это невозможно для сеанса ssh по умолчанию, но вы можете использовать скрипт вместо ssh, который запускает что-то вроде простого ftp или rsh-сервера в вашей локальной системе и запускает ssh с необходимыми параметрами для настройки туннеля назад на ваш рабочий стол для подключения к этому серверу.

1
ответ дан 7 August 2018 в 22:27

konsole обладает этой способностью через меню «Редактировать-> ZModem Upload», когда вы находитесь в удаленном сеансе (или Ctrl-Alt-U).

Обратите внимание: пакет lrzsz должен быть установлен первым. Для меня, похоже, работает только для загрузки файлов ASCII.

2
ответ дан 7 August 2018 в 22:27

Поскольку вы подключаетесь с рабочего стола, я думаю, вы можете открыть второй терминал.

Так я часто делаю:

  • из первого терминала, тот, где выполняется сеанс ssh, я получаю полный путь к файлу, который мне нужно получить , используя либо realpath myfile , либо readlink -f myfile (более старые версии Ubuntu не устанавливают realpath ) и копируют его.
  • из второго терминала я использую scp или sftp , чтобы получить файл, вставив полный путь, который я получил до этого. Например: scp user @ host: / etc / some / file ./

Это довольно просто, но его также легко запомнить и не нужно дополнительный пакет для работы.

0
ответ дан 7 August 2018 в 22:27

Другие вопросы по тегам:

Похожие вопросы: