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