Мне довольно часто нужны файлы с какого-то сервера, когда я на своем ноутбуке. Но если я не знаю, где находится этот файл, я должен ssh
зайти на сервер, осмотреться exit
и затем scp server:file .
. Если я работаю со своим настольным компьютером и моим сервером, оба из которых имеют статические IP-адреса, я могу просто SCP-файл в reverse ( scp desktop:~ file
), но я не могу сделать это для моего ноутбука. Есть ли какой-нибудь хороший способ SCP файл назад через SSH-соединение? Чтобы компьютер, к которому я подключаюсь по SSH, отправлял файл обратно клиенту?
17
Ответы:
Это было бы намного проще с SFTP, который является расширением SSH, который поддерживает более сложные файловые операции, чем SCP. Практически все современные дистрибутивы Unix и Linux поддерживают это. Чтобы использовать его, просто запустите эту команду для подключения к серверу:
Затем вы можете использовать
ls
иcd
команды , чтобы просмотреть вокруг и найти файл , который вы ищете. Как только вы нашли его, используйтеget
команду для его загрузки. Например, чтобы загрузитьfile.txt
текущий рабочий каталог на сервере в текущий рабочий каталог на локальном компьютере, просто запустите:Чтобы загрузить
/home/pavpanchekha/textfiles/file.txt
на сервер~/textfiles/
на свой локальный компьютер, вместо этого запустите:И наоборот, вы также можете загружать файлы таким образом. Чтобы загрузить
file.txt
из текущего локального рабочего каталога в текущий рабочий каталог сервера, введите:Вы также можете использовать полные пути для каждого, как вы можете с
get
:Для получения полного списка доступных команд SFTP просто запустите
help
в команднойsftp>
строке.источник
SSH_CLIENT
Переменная окружения содержит IP-адрес подключающегося хоста и другую информацию. Вы можете использовать это для создания псевдонима оболочки, чтобы легко возвращать SFTP к исходному хосту. Просто добавьте эту строку~/.bashrc
на сервере:alias sftpback="sftp $(echo $SSH_CLIENT | awk '{print $1}')"
затем отключите и снова подключитесь к SSH, чтобы изменения вступили в силу, или выполните это, как если бы это была команда, чтобы она вступила в силу немедленно. С этогоsftpback
момента вы можете просто запустить SFTP обратно к клиенту, к которому вы подключаетесь, независимо от того, какой он есть.Консольный файловый менеджер Midnight Commander (mc) имеет систему VFS, которая позволяет SFTP-соединению / управлению файлами удаленным серверам. Он также работает в Cygwin на Windows. Интерфейс по умолчанию показывает две независимые панели; мы могли бы открыть удаленный каталог SFTP в одном из них и легко передавать файлы в / из другой панели. Включает редактор файлов / просмотрщик (mcedit) с подсветкой синтаксиса.
источник