16

Мне часто нужен какой-то файл с какого-то сервера, когда я на своем ноутбуке. Но если я не знаю, где находится этот файл, я должен зайти на сервер по ssh , осмотреться, exit и затем scp server:file . , Если я работаю с моим рабочим столом и моим сервером, оба из которых имеют статические IP-адреса, я могу просто SCP файл в обратном порядке (scp desktop:~ file), но я не могу сделать это для моего ноутбука. Есть ли какой-нибудь хороший способ SCP файл назад через SSH-соединение? Чтобы компьютер, к которому я подключаюсь по SSH, отправлял файл обратно клиенту?

1 ответ1

19

Это было бы намного проще с SFTP, который является расширением SSH, который поддерживает более сложные файловые операции, чем SCP. Практически все современные дистрибутивы Unix и Linux поддерживают это. Чтобы использовать его, просто запустите эту команду для подключения к серверу:

sftp server

Затем вы можете использовать команды ls и cd для просмотра и поиска искомого файла. Как только вы нашли его, используйте команду get чтобы загрузить его. Например, чтобы загрузить файл file.txt текущего рабочего каталога на сервере в текущий рабочий каталог на локальном компьютере, просто запустите:

get file.txt

Чтобы загрузить /home/pavpanchekha/textfiles/file.txt на сервере в ~/textfiles/ на локальном компьютере, вместо этого запустите:

get /home/pavpanchekha/textfiles/file.txt ~/textfiles/

И наоборот, вы также можете загружать файлы таким образом. Чтобы загрузить file.txt из локального текущего рабочего каталога в текущий рабочий каталог сервера, введите:

put file.txt

Вы также можете использовать полные пути для каждого, как вы можете с get:

put ~/textfiles/file.txt /home/pavpanchekha/textfiles/file.txt

Чтобы получить полный список доступных команд SFTP, просто запустите help в приглашении sftp> .

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