Как копировать (или перемещать) файлы с удаленного компьютера на локальный компьютер?

pdfsandwich выполняет именно эту работу. Я не знал, что в программном центре есть пакет, но я предоставляю ему пакеты debug Ubuntu на веб-сайте проекта (подробнее см. Http://www.tobias-elze.de/pdfsandwich/), в том числе самую последнюю версию (0.1.2), которая вряд ли будет находиться в любом программном центре.

Если у вас есть отсканированный файл scanned_file.pdf, просто вызовите

pdfsandwich scanned_file.pdf

, который генерирует файл scanned_file_ocr.pdf с распознанным текстом, добавленным на отсканированные страницы.

По сравнению с большинством существующих решений он автоматически определяет версию tesseract и соответствующим образом адаптирует ее поведение. Кроме того, он выполняет предварительную обработку отсканированных изображений до процесса OCR, таких как отслоение или удаление темных краев и т. Д., Что может значительно улучшить распознавание оптических символов.

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я разработчик pdfsandwich и, следовательно, сильно предвзятый.

4
задан 11 April 2017 в 09:05

19 ответов

Ответ nullmeta полностью действителен, и, возможно, nullmeta отредактирует, чтобы предоставить уточнение, которое вы ищете. Я отправляю отдельное решение в целом, чтобы объяснить ситуацию, когда это может быть сложно из-за структуры сети (думаю, брандмауэр NAT) просто ssh обратно в локальную систему.

Скажем, у вас есть два компьютера, ComputerA и ComputerB. ComputerA - это ваша локальная рабочая станция. ComputerB - это удаленная машина, доступ к которой вы можете получить через ssh.

Сценарий 1: Если ComputerA не находится за брандмауэром NAT

Это быстрое и простое решение, сочетающее scp и ssh ( scp выполняет безопасную копию с использованием протоколов ssh). Это требует, чтобы на обоих концах был установлен сервер ssh (и клиент) (computerA и computerB).

Чтобы использовать это решение, запустите от ComputerB:

scp /path/to/file/on/ComputerB ComputerAUser@ComputerA:/path/to/dump/file/on/ComputerA

[d3 ] Сценарий 1: Если ComputerA не находится за брандмауэром NAT

В этом случае вам, как правило, необходимо настроить переадресацию портов в брандмауэре NAT. Однако вы можете не всегда иметь доступ к таким изменениям. В этом случае вы можете настроить свой туннель ssh из ComputerA -> ComputerB, чтобы он мог также туннелировать обратные соединения.

При установлении ssh-соединения ComputerA -> ComputerB, сделайте это с помощью опции -R в следующий способ. ssh ComputerBUser@ComputerB -R 2222:localhost:22, где ComputerBUser является именем пользователя для учетной записи ComputerB, прошедшей проверку подлинности, и 2222 является свободным портом в ComputerB. Мы будем использовать этот порт для обратного туннеля обратно в ComputerA из ComputerB.

Теперь из ComputerB вы можете выполнить команду scp следующим образом, чтобы скопировать файлы из ComputerB -> ComputerA, где ComputerAUser ваше имя пользователя на ComputerA:

scp -P 2222 /path/to/file/on/ComputerB ComputerAUser@localhost:/path/to/drop/file/on/computerA

Что здесь происходит? Похоже, мы просто говорим ComputerB, чтобы отправить файл обратно себе, потому что мы пропускаем localhost вместо ComputerA. Мы действительно говорим scp, чтобы передать файл обратно в ComputerB, но на порт 2222. Все соединения с портом 2222 на ComputerB пересылаются в порт 22 (порт ssh по умолчанию) в ComputerA. Таким образом, путем туннелирования назад по существующему соединению ssh не имеет значения, что ComputerA находится за брандмауэром NAT.

из ComputerB [!d16 ]

Или вместо того, чтобы пытаться сделать это из ComputerB, вы можете просто запустить команду scp из ComputerA.

scp ComputerBUser@ComputerB:/path/to/file/on/ComputerB /path/to/dump/file/on/ComputerA
7
ответ дан 22 May 2018 в 23:49
  • 1
    Что касается решения 1 (B- & gt; A): On ComputerAUser@ComputerA:/path/to/dump/file/on/ComputerA Нужно ли мне, что у меня нет SSH-сервера, и я не хочу, чтобы люди пытались войти в него). Должен ли я использовать IP-адрес компьютера A в обратной SSH-команде? – JohnDoea 10 April 2017 в 07:57
  • 2
    @Benia, если у вас нет сервера ssh, настроенного на ComputerA, то сценарий 3 является вашим единственным реальным вариантом. Вы можете использовать netcat и ключ -R в ssh, но это много хлопот (требуется запуск netcat на обеих машинах для передачи файлов) и имеет меньше смысла, чем подход к сценарию 3. Сценарий 3 не требует, чтобы ComputerA установил сервер ssh. – b_laoshi 10 April 2017 в 09:14
  • 3
    Действительно, но это требует оставить все в сценарии 3, открыв другой локальный сеанс, а затем обработать данные с помощью heredoc или скрипта (потому что у него несколько строк) .... Это не минимально, делая все в одном место и действительно сценарий 3 (или сценарий 4 - netcat) представляется наиболее минимальными решениями в этом смысле. BTW, пожалуйста, поправьте меня, если я ошибаюсь @b_laoshi, но между передачей файлов между обоими концами с сервером SSH или с netcat нет большой разницы между передачей файлов. – JohnDoea 11 April 2017 в 01:03
  • 4
    @Benia, Там огромная разница. Следует отметить, что netcat не зашифрован. Туннелирование по адресам SSH, которые возникают после того, как SSH обеспечивает шифрование. По его мнению, netcat, вероятно, не подходит вам, потому что вам нужно начать прослушивание netcat на компьютере ComputerA, прежде чем вы сможете отправить файл из файла ComputerB для передачи файлов EACH. Это можно автоматизировать с помощью скрипта, запущенного в цикле ComputerA. Если это то, на что вы хотите получить больше отзывов, внесите новый вопрос в этот аффект и подбросьте меня сюда, и я расскажу подробнее. Считаете ли вы использование экрана ? – b_laoshi 11 April 2017 в 04:46
  • 5
    Я не знал экран в основном, но я бы предпочел что-то прямое в данный момент, поэтому я думаю, что настройка сервера OpenSSH - лучший вариант для меня. Это также лучше всего, потому что это дает мне шифрование, которое я также желаю, и хорошо, что вы это придумали. – JohnDoea 11 April 2017 в 05:34

Ответ nullmeta полностью действителен, и, возможно, nullmeta отредактирует, чтобы предоставить уточнение, которое вы ищете. Я отправляю отдельное решение в целом, чтобы объяснить ситуацию, когда это может быть сложно из-за структуры сети (думаю, брандмауэр NAT) просто ssh обратно в локальную систему.

Скажем, у вас есть два компьютера, ComputerA и ComputerB. ComputerA - это ваша локальная рабочая станция. ComputerB - это удаленная машина, доступ к которой вы можете получить через ssh.

Сценарий 1: Если ComputerA не находится за брандмауэром NAT

Это быстрое и простое решение, сочетающее scp и ssh ( scp выполняет безопасную копию с использованием протоколов ssh). Это требует, чтобы на обоих концах был установлен сервер ssh (и клиент) (computerA и computerB).

Чтобы использовать это решение, запустите от ComputerB:

scp /path/to/file/on/ComputerB ComputerAUser@ComputerA:/path/to/dump/file/on/ComputerA

Сценарий 1: Если ComputerA не находится за брандмауэром NAT

В этом случае вам, как правило, необходимо настроить переадресацию портов в брандмауэре NAT. Однако вы можете не всегда иметь доступ к таким изменениям. В этом случае вы можете настроить свой туннель ssh из ComputerA -> ComputerB, чтобы он мог также туннелировать обратные соединения.

При установлении ssh-соединения ComputerA -> ComputerB, сделайте это с помощью опции -R в следующий способ. ssh ComputerBUser@ComputerB -R 2222:localhost:22, где ComputerBUser является именем пользователя для учетной записи ComputerB, прошедшей проверку подлинности, и 2222 является свободным портом в ComputerB. Мы будем использовать этот порт для обратного туннеля обратно в ComputerA из ComputerB.

Теперь из ComputerB вы можете выполнить команду scp следующим образом, чтобы скопировать файлы из ComputerB -> ComputerA, где ComputerAUser ваше имя пользователя на ComputerA:

scp -P 2222 /path/to/file/on/ComputerB ComputerAUser@localhost:/path/to/drop/file/on/computerA

Что здесь происходит? Похоже, мы просто говорим ComputerB, чтобы отправить файл обратно себе, потому что мы пропускаем localhost вместо ComputerA. Мы действительно говорим scp, чтобы передать файл обратно в ComputerB, но на порт 2222. Все соединения с портом 2222 на ComputerB пересылаются в порт 22 (порт ssh по умолчанию) в ComputerA. Таким образом, путем туннелирования назад по существующему соединению ssh не имеет значения, что ComputerA находится за брандмауэром NAT.

из ComputerB

Или вместо того, чтобы пытаться сделать это из ComputerB, вы можете просто запустить команду scp из ComputerA.

scp ComputerBUser@ComputerB:/path/to/file/on/ComputerB /path/to/dump/file/on/ComputerA
7
ответ дан 18 July 2018 в 15:15

Ответ nullmeta полностью действителен, и, возможно, nullmeta отредактирует, чтобы предоставить уточнение, которое вы ищете. Я отправляю отдельное решение в целом, чтобы объяснить ситуацию, когда это может быть сложно из-за структуры сети (думаю, брандмауэр NAT) просто ssh обратно в локальную систему.

Скажем, у вас есть два компьютера, ComputerA и ComputerB. ComputerA - это ваша локальная рабочая станция. ComputerB - это удаленная машина, доступ к которой вы можете получить через ssh.

Сценарий 1: Если ComputerA не находится за брандмауэром NAT

Это быстрое и простое решение, сочетающее scp и ssh ( scp выполняет безопасную копию с использованием протоколов ssh). Это требует, чтобы на обоих концах был установлен сервер ssh (и клиент) (computerA и computerB).

Чтобы использовать это решение, запустите от ComputerB:

scp /path/to/file/on/ComputerB ComputerAUser@ComputerA:/path/to/dump/file/on/ComputerA

Сценарий 1: Если ComputerA не находится за брандмауэром NAT

В этом случае вам, как правило, необходимо настроить переадресацию портов в брандмауэре NAT. Однако вы можете не всегда иметь доступ к таким изменениям. В этом случае вы можете настроить свой туннель ssh из ComputerA -> ComputerB, чтобы он мог также туннелировать обратные соединения.

При установлении ssh-соединения ComputerA -> ComputerB, сделайте это с помощью опции -R в следующий способ. ssh ComputerBUser@ComputerB -R 2222:localhost:22, где ComputerBUser является именем пользователя для учетной записи ComputerB, прошедшей проверку подлинности, и 2222 является свободным портом в ComputerB. Мы будем использовать этот порт для обратного туннеля обратно в ComputerA из ComputerB.

Теперь из ComputerB вы можете выполнить команду scp следующим образом, чтобы скопировать файлы из ComputerB -> ComputerA, где ComputerAUser ваше имя пользователя на ComputerA:

scp -P 2222 /path/to/file/on/ComputerB ComputerAUser@localhost:/path/to/drop/file/on/computerA

Что здесь происходит? Похоже, мы просто говорим ComputerB, чтобы отправить файл обратно себе, потому что мы пропускаем localhost вместо ComputerA. Мы действительно говорим scp, чтобы передать файл обратно в ComputerB, но на порт 2222. Все соединения с портом 2222 на ComputerB пересылаются в порт 22 (порт ssh по умолчанию) в ComputerA. Таким образом, путем туннелирования назад по существующему соединению ssh не имеет значения, что ComputerA находится за брандмауэром NAT.

из ComputerB

Или вместо того, чтобы пытаться сделать это из ComputerB, вы можете просто запустить команду scp из ComputerA.

scp ComputerBUser@ComputerB:/path/to/file/on/ComputerB /path/to/dump/file/on/ComputerA
7
ответ дан 24 July 2018 в 20:35

Ответ nullmeta полностью действителен, и, возможно, nullmeta отредактирует, чтобы предоставить уточнение, которое вы ищете. Я отправляю отдельное решение в целом, чтобы объяснить ситуацию, когда это может быть сложно из-за структуры сети (думаю, брандмауэр NAT) просто ssh обратно в локальную систему.

Скажем, у вас есть два компьютера, ComputerA и ComputerB. ComputerA - это ваша локальная рабочая станция. ComputerB - это удаленная машина, доступ к которой вы можете получить через ssh.

Сценарий 1: Если ComputerA не находится за брандмауэром NAT

Это быстрое и простое решение, сочетающее scp и ssh ( scp выполняет безопасную копию с использованием протоколов ssh). Это требует, чтобы на обоих концах был установлен сервер ssh (и клиент) (computerA и computerB).

Чтобы использовать это решение, запустите от ComputerB:

scp /path/to/file/on/ComputerB ComputerAUser@ComputerA:/path/to/dump/file/on/ComputerA

Сценарий 1: Если ComputerA не находится за брандмауэром NAT

В этом случае вам, как правило, необходимо настроить переадресацию портов в брандмауэре NAT. Однако вы можете не всегда иметь доступ к таким изменениям. В этом случае вы можете настроить свой туннель ssh из ComputerA -> ComputerB, чтобы он мог также туннелировать обратные соединения.

При установлении ssh-соединения ComputerA -> ComputerB, сделайте это с помощью опции -R в следующий способ. ssh ComputerBUser@ComputerB -R 2222:localhost:22, где ComputerBUser является именем пользователя для учетной записи ComputerB, прошедшей проверку подлинности, и 2222 является свободным портом в ComputerB. Мы будем использовать этот порт для обратного туннеля обратно в ComputerA из ComputerB.

Теперь из ComputerB вы можете выполнить команду scp следующим образом, чтобы скопировать файлы из ComputerB -> ComputerA, где ComputerAUser ваше имя пользователя на ComputerA:

scp -P 2222 /path/to/file/on/ComputerB ComputerAUser@localhost:/path/to/drop/file/on/computerA

Что здесь происходит? Похоже, мы просто говорим ComputerB, чтобы отправить файл обратно себе, потому что мы пропускаем localhost вместо ComputerA. Мы действительно говорим scp, чтобы передать файл обратно в ComputerB, но на порт 2222. Все соединения с портом 2222 на ComputerB пересылаются в порт 22 (порт ssh по умолчанию) в ComputerA. Таким образом, путем туннелирования назад по существующему соединению ssh не имеет значения, что ComputerA находится за брандмауэром NAT.

из ComputerB

Или вместо того, чтобы пытаться сделать это из ComputerB, вы можете просто запустить команду scp из ComputerA.

scp ComputerBUser@ComputerB:/path/to/file/on/ComputerB /path/to/dump/file/on/ComputerA
7
ответ дан 31 July 2018 в 12:43

Ответ nullmeta полностью действителен, и, возможно, nullmeta отредактирует, чтобы предоставить уточнение, которое вы ищете. Я отправляю отдельное решение в целом, чтобы объяснить ситуацию, когда это может быть сложно из-за структуры сети (думаю, брандмауэр NAT) просто ssh обратно в локальную систему.

Скажем, у вас есть два компьютера, ComputerA и ComputerB. ComputerA - это ваша локальная рабочая станция. ComputerB - это удаленная машина, доступ к которой вы можете получить через ssh.

Сценарий 1: Если ComputerA не находится за брандмауэром NAT

Это быстрое и простое решение, сочетающее scp и ssh ( scp выполняет безопасную копию с использованием протоколов ssh). Это требует, чтобы на обоих концах был установлен сервер ssh (и клиент) (computerA и computerB).

Чтобы использовать это решение, запустите от ComputerB:

scp /path/to/file/on/ComputerB ComputerAUser@ComputerA:/path/to/dump/file/on/ComputerA

Сценарий 1: Если ComputerA не находится за брандмауэром NAT

В этом случае вам, как правило, необходимо настроить переадресацию портов в брандмауэре NAT. Однако вы можете не всегда иметь доступ к таким изменениям. В этом случае вы можете настроить свой туннель ssh из ComputerA -> ComputerB, чтобы он мог также туннелировать обратные соединения.

При установлении ssh-соединения ComputerA -> ComputerB, сделайте это с помощью опции -R в следующий способ. ssh ComputerBUser@ComputerB -R 2222:localhost:22, где ComputerBUser является именем пользователя для учетной записи ComputerB, прошедшей проверку подлинности, и 2222 является свободным портом в ComputerB. Мы будем использовать этот порт для обратного туннеля обратно в ComputerA из ComputerB.

Теперь из ComputerB вы можете выполнить команду scp следующим образом, чтобы скопировать файлы из ComputerB -> ComputerA, где ComputerAUser ваше имя пользователя на ComputerA:

scp -P 2222 /path/to/file/on/ComputerB ComputerAUser@localhost:/path/to/drop/file/on/computerA

Что здесь происходит? Похоже, мы просто говорим ComputerB, чтобы отправить файл обратно себе, потому что мы пропускаем localhost вместо ComputerA. Мы действительно говорим scp, чтобы передать файл обратно в ComputerB, но на порт 2222. Все соединения с портом 2222 на ComputerB пересылаются в порт 22 (порт ssh по умолчанию) в ComputerA. Таким образом, путем туннелирования назад по существующему соединению ssh не имеет значения, что ComputerA находится за брандмауэром NAT.

из ComputerB

Или вместо того, чтобы пытаться сделать это из ComputerB, вы можете просто запустить команду scp из ComputerA.

scp ComputerBUser@ComputerB:/path/to/file/on/ComputerB /path/to/dump/file/on/ComputerA
7
ответ дан 31 July 2018 в 23:37

Если вам нужен простой способ просмотреть файловую систему удаленного компьютера и скопировать определенные файлы на локальный компьютер (и наоборот), вы можете использовать SSHFS.

Описание

] Из man sshfs: SSHFS (Secure SHell FileSystem) - это файловая система для Linux (и других операционных систем с реализацией FUSE), способная работать с файлами на удаленном компьютере, используя только безопасный вход на ваш компьютер на удаленном компьютере. На локальном компьютере, на котором монтируется SSHFS, реализация использует модуль ядра FUSE (файловая система в пространстве пользователей). Практический эффект от этого заключается в том, что конечный пользователь может беспрепятственно взаимодействовать с удаленными файлами, которые надежно передаются через SSH так же, как если бы они были локальными файлами на его / ее компьютере. На удаленном компьютере используется SFTP-подсистема SSH. Из apt show sshfs: sshfs - клиент файловой системы, основанный на протоколе передачи файлов SSH. Поскольку большинство SSH-серверов уже поддерживают этот протокол, его очень легко настроить: то есть на стороне сервера ничего не поделаешь. На стороне клиента установка файловой системы так же просто, как и вход в сервер с помощью ssh.

Описание

sudo apt install sshfs

В отличие от этого руководства, я еще ничего не сделал на своем Ubuntu 16.04.

Использование

Создайте соответствующий монтажный каталог, например:
mkdir ~/sshfs-mount-point
Установите удаленный путь: установите удаленный путь, когда вы используете default ssh settings:
sshfs user@IP:/remote/path ~/sshfs-mount-point
Установите удаленный путь при использовании пользовательских настроек ssh:
sshfs -o IdentityFile=/path/to/id_rsa,port=2222 user@hostname-or-IP:/remote/path ~/sshfs-mount-point
Установите удаленный путь, когда вы правильно настроили файл ~/.ssh/config:
sshfs hostname:/remote/path ~/sshfs-mount-point
Отключите дистанционный путь. Существует два способа: fusermount -u ~/sshfs-mount-point sudo umount ~/sshfs-mount-point

Использование

Из man sshfs: SSHFS (Secure SHell FileSystem) является файлом система для Linux (и других операционных систем с реализацией FUSE), способная работать с файлами на удаленном компьютере, используя только безопасный вход в систему на удаленном компьютере. На локальном компьютере, на котором монтируется SSHFS, реализация использует модуль ядра FUSE (файловая система в пространстве пользователей). Практический эффект от этого заключается в том, что конечный пользователь может беспрепятственно взаимодействовать с удаленными файлами, которые надежно передаются через SSH так же, как если бы они были локальными файлами на его / ее компьютере. На удаленном компьютере используется SFTP-подсистема SSH.

Из man sshfs:

3
ответ дан 22 May 2018 в 23:49

Не находясь в сеансе SSH, вы захотите использовать

scp user@remotehost:/file/to/copy /local/destination

Если ваш локальный компьютер работает с sshd и порт открыт, а в сеансе ssh вы можете

scp /remote/file user@localmachine:/destination/file

У этой ссылки есть некоторые обходные пути https://unix.stackexchange.com/questions/2857/ssh-easily-copy-file-to-local-system

Редактирование: Извиняюсь за любую путаницу, самый простой и эффективный способ - открыть второй терминал и запустить первую команду scp, о которой я упоминал.

2
ответ дан 22 May 2018 в 23:49
  • 1
    Я ищу способ сделать это на сеансе SSH ... – JohnDoea 10 April 2017 в 04:13
  • 2
    если у вас включен ssh на вашем клиенте во время сеанса, вы можете попробовать {scp / remote / file user @ client: / destination / file} или использовать sftp или sshfs для монтирования файловой системы – nullmeta 10 April 2017 в 04:21
  • 3
    На клиенте? Не могли бы вы отредактировать ответ с объяснением того, как вы это сделаете в конце? – JohnDoea 10 April 2017 в 04:28
  • 4
    Вы в основном используете команду scp в обратном порядке. Вместо scp от удаленного к локальному, так как вы уже находитесь на другом компьютере, вы являетесь «локальным». компьютер теперь «удален» Это было предположение, основанное на этом сообщении unix.stackexchange.com/questions/2857/… . На самом деле нет простого способа передачи файлов во время сеанса SSH. Я бы сказал, что было бы легче открыть вторую вкладку / терминал и использовать scp. Или, в моем случае, я могу использовать SSH на моем файловом сервере, а также выполнять задачи администратора, но для файлов файлов у меня есть NFS и SMB-ресурс. – nullmeta 10 April 2017 в 04:34
  • 5
    Извините, я думаю, что пропустил, если вы, наконец, скажете, что это возможно или нет. Попробуйте опубликовать новый ответ или отредактировать его, чтобы он объяснял и пример scp из Y- & gt; X вместо X- & gt; Y. Я также предлагаю щедрость за это. – JohnDoea 10 April 2017 в 04:38

Чтобы переместить файлы с компьютера на компьютер по сети, вы используете служебную программу scp (scp означает безопасную копию). ssh используется только для удаленного доступа к входам.

Поскольку вы уже успешно вошли в систему на другом компьютере в своей сети, вы можете просто скопировать файлы на свой локальный компьютер, но вы собираетесь для того, чтобы запустить ssh deamon на вашем локальном компьютере. Итак, сначала установите его:

$ sudo apt-get install openssh-server -y

Убедитесь, что он работает и работает (объект зеленого света показывает, что это так):

$ systemctl status sshd

[d6 ] Поместите все файлы на удаленном компьютере, которые вы хотите скопировать на свой локальный компьютер, в отдельный каталог. Затем используйте эту команду:

$ scp -r [DIRECTORY] [USER]@[IP_ADDRESS]:~/Downloads

-r означает, что каталог вместе со всем содержимым будет обрабатываться рекурсивно. Проще говоря, это означает, что это вариант, который вы собираетесь использовать каждый раз, когда хотите скопировать каталог, содержащий файлы. [DIRECTORY] - путь к этому каталогу. [USER] является пользователем на вашем локальном компьютере. [IP_ADDRESS] - IP-адрес этой машины. Материал после : - это место, где вы хотите, чтобы ваши файлы сохранялись на вашем локальном компьютере. В этом случае это папка Downloads.

Вот как выглядит этот процесс в реальности:

1
ответ дан 22 May 2018 в 23:49

Не находясь в сеансе SSH, вы захотите использовать

scp user@remotehost:/file/to/copy /local/destination

Если ваш локальный компьютер работает с sshd и порт открыт, а в сеансе ssh вы можете

scp /remote/file user@localmachine:/destination/file

У этой ссылки есть некоторые обходные пути https://unix.stackexchange.com/questions/2857/ssh-easily-copy-file-to-local-system

Редактирование: Извиняюсь за любую путаницу, самый простой и эффективный способ - открыть второй терминал и запустить первую команду scp, о которой я упоминал.

2
ответ дан 18 July 2018 в 15:15

Чтобы переместить файлы с компьютера на компьютер по сети, вы используете служебную программу scp (scp означает безопасную копию). ssh используется только для удаленного доступа к входам.

Поскольку вы уже успешно вошли в систему на другом компьютере в своей сети, вы можете просто скопировать файлы на свой локальный компьютер, но вы собираетесь для того, чтобы запустить ssh deamon на вашем локальном компьютере. Итак, сначала установите его:

$ sudo apt-get install openssh-server -y

Убедитесь, что он работает и работает (объект зеленого света показывает, что это так):

$ systemctl status sshd

Поместите все файлы на удаленном компьютере, которые вы хотите скопировать на свой локальный компьютер, в отдельный каталог. Затем используйте эту команду:

$ scp -r [DIRECTORY] [USER]@[IP_ADDRESS]:~/Downloads

-r означает, что каталог вместе со всем содержимым будет обрабатываться рекурсивно. Проще говоря, это означает, что это вариант, который вы собираетесь использовать каждый раз, когда хотите скопировать каталог, содержащий файлы. [DIRECTORY] - путь к этому каталогу. [USER] является пользователем на вашем локальном компьютере. [IP_ADDRESS] - IP-адрес этой машины. Материал после : - это место, где вы хотите, чтобы ваши файлы сохранялись на вашем локальном компьютере. В этом случае это папка Downloads.

Вот как выглядит этот процесс в реальности:

1
ответ дан 18 July 2018 в 15:15

Не находясь в сеансе SSH, вы захотите использовать

scp user@remotehost:/file/to/copy /local/destination

Если ваш локальный компьютер работает с sshd и порт открыт, а в сеансе ssh вы можете

scp /remote/file user@localmachine:/destination/file

У этой ссылки есть некоторые обходные пути https://unix.stackexchange.com/questions/2857/ssh-easily-copy-file-to-local-system

Редактирование: Извиняюсь за любую путаницу, самый простой и эффективный способ - открыть второй терминал и запустить первую команду scp, о которой я упоминал.

2
ответ дан 24 July 2018 в 20:35
  • 1
    Я ищу способ сделать это на сеансе SSH ... – JohnDoea 10 April 2017 в 04:13
  • 2
    если у вас включен ssh на вашем клиенте во время сеанса, вы можете попробовать {scp / remote / file user @ client: / destination / file} или использовать sftp или sshfs для монтирования файловой системы – nullmeta 10 April 2017 в 04:21
  • 3
    На клиенте? Не могли бы вы отредактировать ответ с объяснением того, как вы это сделаете в конце? – JohnDoea 10 April 2017 в 04:28
  • 4
    Вы в основном используете команду scp в обратном порядке. Вместо scp от удаленного к локальному, так как вы уже находитесь на другом компьютере, вы являетесь «локальным». компьютер теперь «удален» Это было предположение, основанное на этом сообщении unix.stackexchange.com/questions/2857/… . На самом деле нет простого способа передачи файлов во время сеанса SSH. Я бы сказал, что было бы легче открыть вторую вкладку / терминал и использовать scp. Или, в моем случае, я могу использовать SSH на моем файловом сервере, а также выполнять задачи администратора, но для файлов файлов у меня есть NFS и SMB-ресурс. – nullmeta 10 April 2017 в 04:34
  • 5
    Извините, я думаю, что пропустил, если вы, наконец, скажете, что это возможно или нет. Попробуйте опубликовать новый ответ или отредактировать его, чтобы он объяснял и пример scp из Y- & gt; X вместо X- & gt; Y. Я также предлагаю щедрость за это. – JohnDoea 10 April 2017 в 04:38

Чтобы переместить файлы с компьютера на компьютер по сети, вы используете служебную программу scp (scp означает безопасную копию). ssh используется только для удаленного доступа к входам.

Поскольку вы уже успешно вошли в систему на другом компьютере в своей сети, вы можете просто скопировать файлы на свой локальный компьютер, но вы собираетесь для того, чтобы запустить ssh deamon на вашем локальном компьютере. Итак, установите его первым:

$ sudo apt-get install openssh-server -y

Убедитесь, что он работает и работает (объект зеленого света показывает, что это так):

$ systemctl status sshd

Поместите все файлы на удаленном компьютере, которые вы хотите скопировать на свой локальный компьютер, в отдельный каталог. Затем используйте эту команду:

$ scp -r [DIRECTORY] [USER]@[IP_ADDRESS]:~/Downloads

-r означает, что каталог вместе со всем содержимым будет обрабатываться рекурсивно. Проще говоря, это означает, что это вариант, который вы собираетесь использовать каждый раз, когда хотите скопировать каталог, содержащий файлы. [DIRECTORY] - путь к этому каталогу. [USER] является пользователем на вашем локальном компьютере. [IP_ADDRESS] - IP-адрес этой машины. Материал после : - это место, где вы хотите, чтобы ваши файлы сохранялись на вашем локальном компьютере. В этом случае это папка Downloads.

Вот как выглядит этот процесс в реальности:

1
ответ дан 24 July 2018 в 20:35

Не находясь в сеансе SSH, вы захотите использовать

scp user@remotehost:/file/to/copy /local/destination

Если ваш локальный компьютер работает с sshd и порт открыт, а в сеансе ssh вы можете

scp /remote/file user@localmachine:/destination/file

У этой ссылки есть некоторые обходные пути https://unix.stackexchange.com/questions/2857/ssh-easily-copy-file-to-local-system

Редактирование: Извиняюсь за любую путаницу, самый простой и эффективный способ - открыть второй терминал и запустить первую команду scp, о которой я упоминал.

3
ответ дан 31 July 2018 в 12:43
  • 1
    Я ищу способ сделать это на сеансе SSH ... – JohnDoea 10 April 2017 в 04:13
  • 2
    если у вас включен ssh на вашем клиенте во время сеанса, вы можете попробовать {scp / remote / file user @ client: / destination / file} или использовать sftp или sshfs для монтирования файловой системы – nullmeta 10 April 2017 в 04:21
  • 3
    На клиенте? Не могли бы вы отредактировать ответ с объяснением того, как вы это сделаете в конце? – JohnDoea 10 April 2017 в 04:28
  • 4
    Вы в основном используете команду scp в обратном порядке. Вместо scp от удаленного к локальному, так как вы уже находитесь на другом компьютере, вы являетесь «локальным». компьютер теперь «удален» Это было предположение, основанное на этом сообщении unix.stackexchange.com/questions/2857/… . На самом деле нет простого способа передачи файлов во время сеанса SSH. Я бы сказал, что было бы легче открыть вторую вкладку / терминал и использовать scp. Или, в моем случае, я могу использовать SSH на моем файловом сервере, а также выполнять задачи администратора, но для файлов файлов у меня есть NFS и SMB-ресурс. – nullmeta 10 April 2017 в 04:34
  • 5
    Извините, я думаю, что пропустил, если вы, наконец, скажете, что это возможно или нет. Попробуйте опубликовать новый ответ или отредактировать его, чтобы он объяснял и пример scp из Y- & gt; X вместо X- & gt; Y. Я также предлагаю щедрость за это. – JohnDoea 10 April 2017 в 04:38

Чтобы переместить файлы с компьютера на компьютер по сети, вы используете служебную программу scp (scp означает безопасную копию). ssh используется только для удаленного доступа к входам.

Поскольку вы уже успешно вошли в систему на другом компьютере в своей сети, вы можете просто скопировать файлы на свой локальный компьютер, но вы собираетесь для того, чтобы запустить ssh deamon на вашем локальном компьютере. Итак, установите его первым:

$ sudo apt-get install openssh-server -y

Убедитесь, что он работает и работает (объект зеленого света показывает, что это так):

$ systemctl status sshd

Поместите все файлы на удаленном компьютере, которые вы хотите скопировать на свой локальный компьютер, в отдельный каталог. Затем используйте эту команду:

$ scp -r [DIRECTORY] [USER]@[IP_ADDRESS]:~/Downloads

-r означает, что каталог вместе со всем содержимым будет обрабатываться рекурсивно. Проще говоря, это означает, что это вариант, который вы собираетесь использовать каждый раз, когда хотите скопировать каталог, содержащий файлы. [DIRECTORY] - путь к этому каталогу. [USER] является пользователем на вашем локальном компьютере. [IP_ADDRESS] - IP-адрес этой машины. Материал после : - это место, где вы хотите, чтобы ваши файлы сохранялись на вашем локальном компьютере. В этом случае это папка Downloads.

Вот как выглядит этот процесс в реальности:

1
ответ дан 31 July 2018 в 12:43

Не находясь в сеансе SSH, вы захотите использовать

scp user@remotehost:/file/to/copy /local/destination

Если ваш локальный компьютер работает с sshd и порт открыт, а в сеансе ssh вы можете

scp /remote/file user@localmachine:/destination/file

У этой ссылки есть некоторые обходные пути https://unix.stackexchange.com/questions/2857/ssh-easily-copy-file-to-local-system

Редактирование: Извиняюсь за любую путаницу, самый простой и эффективный способ - открыть второй терминал и запустить первую команду scp, о которой я упоминал.

3
ответ дан 31 July 2018 в 23:37
  • 1
    Я ищу способ сделать это на сеансе SSH ... – JohnDoea 10 April 2017 в 04:13
  • 2
    если у вас включен ssh на вашем клиенте во время сеанса, вы можете попробовать {scp / remote / file user @ client: / destination / file} или использовать sftp или sshfs для монтирования файловой системы – nullmeta 10 April 2017 в 04:21
  • 3
    На клиенте? Не могли бы вы отредактировать ответ с объяснением того, как вы это сделаете в конце? – JohnDoea 10 April 2017 в 04:28
  • 4
    Вы в основном используете команду scp в обратном порядке. Вместо scp от удаленного к локальному, так как вы уже находитесь на другом компьютере, вы являетесь «локальным». компьютер теперь «удален» Это было предположение, основанное на этом сообщении unix.stackexchange.com/questions/2857/… . На самом деле нет простого способа передачи файлов во время сеанса SSH. Я бы сказал, что было бы легче открыть вторую вкладку / терминал и использовать scp. Или, в моем случае, я могу использовать SSH на моем файловом сервере, а также выполнять задачи администратора, но для файлов файлов у меня есть NFS и SMB-ресурс. – nullmeta 10 April 2017 в 04:34
  • 5
    Извините, я думаю, что пропустил, если вы, наконец, скажете, что это возможно или нет. Попробуйте опубликовать новый ответ или отредактировать его, чтобы он объяснял и пример scp из Y- & gt; X вместо X- & gt; Y. Я также предлагаю щедрость за это. – JohnDoea 10 April 2017 в 04:38

Чтобы переместить файлы с компьютера на компьютер по сети, вы используете служебную программу scp (scp означает безопасную копию). ssh используется только для удаленного доступа к входам.

Поскольку вы уже успешно вошли в систему на другом компьютере в своей сети, вы можете просто скопировать файлы на свой локальный компьютер, но вы собираетесь для того, чтобы запустить ssh deamon на вашем локальном компьютере. Итак, установите его первым:

$ sudo apt-get install openssh-server -y

Убедитесь, что он работает и работает (объект зеленого света показывает, что это так):

$ systemctl status sshd

Поместите все файлы на удаленном компьютере, которые вы хотите скопировать на свой локальный компьютер, в отдельный каталог. Затем используйте эту команду:

$ scp -r [DIRECTORY] [USER]@[IP_ADDRESS]:~/Downloads

-r означает, что каталог вместе со всем содержимым будет обрабатываться рекурсивно. Проще говоря, это означает, что это вариант, который вы собираетесь использовать каждый раз, когда хотите скопировать каталог, содержащий файлы. [DIRECTORY] - путь к этому каталогу. [USER] является пользователем на вашем локальном компьютере. [IP_ADDRESS] - IP-адрес этой машины. Материал после : - это место, где вы хотите, чтобы ваши файлы сохранялись на вашем локальном компьютере. В этом случае это папка Downloads.

Вот как выглядит этот процесс в реальности:

1
ответ дан 31 July 2018 в 23:37

Не находясь в сеансе SSH, вы хотели бы использовать

scp user@remotehost:/file/to/copy /local/destination

Если ваш локальный компьютер работает с sshd и порт открыт, а в сеансе ssh вы можете

scp /remote/file user@localmachine:/destination/file

Эта ссылка имеет некоторые обходные пути https://unix.stackexchange.com/questions/2857/ssh-easily-copy-file-to-local-system

Редактировать : Я прошу прощения за любую путаницу, самый простой и эффективный способ - открыть второй терминал и запустить первую команду scp, о которой я упоминал.

3
ответ дан 5 August 2018 в 05:32

Чтобы переместить файлы с компьютера на компьютер по сети, вы используете утилиту scp (scp означает безопасную копию). ssh используется только для удаленного доступа к входам.

Поскольку вы уже успешно вошли в систему на другом компьютере в своей сети, вы можете просто скопировать файлы на свой локальный компьютер, но вы собираетесь для того, чтобы запустить ssh deamon на вашем локальном компьютере. Итак, сначала установите его:

$ sudo apt-get install openssh-server -y

Убедитесь, что он работает и работает (объект зеленого света показывает, что он есть):

$ systemctl status sshd

Поместите все файлы на удаленном компьютере, которые вы хотите скопировать на свой локальный компьютер, в отдельный каталог. Затем используйте эту команду:

$ scp -r [DIRECTORY] [USER]@[IP_ADDRESS]:~/Downloads

-r означает, что каталог вместе со всем содержимым будет обрабатываться рекурсивно. Проще говоря, это означает, что это вариант, который вы собираетесь использовать каждый раз, когда хотите скопировать каталог, содержащий файлы. [DIRECTORY] - путь к этому каталогу. [USER] является пользователем на вашем локальном компьютере. [IP_ADDRESS] - IP-адрес этой машины. Материал после : - это место, где вы хотите, чтобы ваши файлы сохранялись на вашем локальном компьютере. В этом случае это папка Downloads.

Вот как выглядит этот процесс на самом деле:

1
ответ дан 5 August 2018 в 05:32

Не находясь в сеансе SSH, вы хотели бы использовать

scp user@remotehost:/file/to/copy /local/destination

Если ваш локальный компьютер работает с sshd и порт открыт, а в сеансе ssh вы можете

scp /remote/file user@localmachine:/destination/file

Эта ссылка имеет некоторые обходные пути https://unix.stackexchange.com/questions/2857/ssh-easily-copy-file-to-local-system

Редактировать : Я прошу прощения за любую путаницу, самый простой и эффективный способ - открыть второй терминал и запустить первую команду scp, о которой я упоминал.

3
ответ дан 9 August 2018 в 03:04

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

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