Я ssh
зашел в каталог моего веб-хостинга и tar
загрузил веб-приложение. Когда я пытаюсь mv
к ~/mydirectory/backups
или /home/mydirectory/backups
, он определяет «дом» , как мой корень на хостинге , что я ssh'ed в.
Как мне mv в ssh на локальный диск, пока он находится внутри системы хоста?
Ответы:
Перво-наперво: ssh - это способ удаленного входа на другой компьютер. Оболочка (командная строка), которую вы получаете после ssh, (в значительной степени) такая же, как если бы вы открыли xterm на удаленной машине. Если не предлагает такой способ перемещения файлов.
Однако тот факт, что удаленный компьютер принимает соединения ssh, дает вам несколько возможностей для обмена файлами:
Использование scp Чтобы скопировать с локального компьютера на удаленный, введите на локальном компьютере:
scp /tmp/file user@example.com:/home/name/dir
(где / tmp / file можно заменить любым локальным файлом, а / home / name / dir - любым удаленным каталогом)
Чтобы скопировать с удаленного компьютера на локальный, введите на локальном компьютере:
scp user@example.com:/home/name/dir/file /tmp
Используйте sshfs. Это немного сложнее, но гораздо, намного приятнее (когда интернет-соединение обоих компьютеров хорошее. Если нет, придерживайтесь scp)
Вы можете «связать» каталог с удаленного компьютера с (пустым) каталогом локального компьютера. Скажем, вы «связываете» / some / remote / dir с удаленного компьютера с / home / youruser / remotecomp на вашем компьютере. Если на удаленном компьютере есть файл / some / remote / dir / file, вы можете увидеть его в / home / youruser / remotecomp / file. Вы можете копировать и mv как обычно, и вы даже можете изменять удаленные файлы и директории.
Однако обратите внимание, что когда соединение заканчивается, / home / youruser / remotecomp снова становится пустым каталогом, и вы сохраняете на локальном компьютере только те файлы, которые скопировали в другие каталоги.
Для достижения этой цели:
1) установить sshfs:
sudo apt-get install sshfs
2) создать пустой каталог
mkdir /home/youruser/remotecomp
3) «связать» две директории (правильный термин - монтирование)
sshfs user@server.com:/some/remote/dir /home/youruser/remotecomp
4) Наслаждайтесь
5) "отсоединить" каталоги
fusermount -u /home/youruser/remotecomp
Если на локальном компьютере работает Windows, вы можете найти версии
scp
для Windows. Смотрите, например, winscpисточник
sshfs
вариантrsync -P -e ssh /tmp/file user@example.com:/home/name/dir
. Это потому, что если передача файла не удается на полпути,scp
просто удалите файл. С другой стороны, если вы используетеrsync
эту-P
опцию, она сохранит неполный файл на удаленной машине, и при перезапуске передачи она убедится, что то, что уже находится на удаленной машине, соответствует файлу на вашей локальной машине и затем продолжите с того места, где остановилась передача.Вы можете использовать
scp
илиrsync
. В вашей локальной системе:scp remoteuser@remotehost:/remote/dir/file /local/dir/
Но, поскольку вы упомянули резервное копирование, я предполагаю, что оно будет инкрементным, и вам придется делать это время от времени. Таким образом,
rsync
это лучший выбор для инкрементного резервного копирования. На вашей локальной оболочке:rsync -avz -e ssh remoteuser@remotehost:/remote/dir /local/dir/
см.
rsync(1)
иscp(1)
справочные страницы для вариантов.источник
Вы можете использовать защищенную копию scp .
От вас местная оболочка:
Этот пример скопирует через ssh из /path/of-the/tar.archive вашего веб-хоста в / home / mydirectory / backups /
Дополнительные опции:
-C : включает сжатие
источник
У меня такая же проблема. Вот простое решение: -
+ Other Locations
внизу левой панели.Connect to server
. Запишите адрес ssh в поле ввода, напримерssh://111.222.333.444/
.home
из удаленного местоположения. Не стесняйтесь перемещать файл здесь и там.источник
Другие ответы рекомендуют
rsync
илиscp
, оба из которых требуют, чтобы вы знали местоположение файла, который вы хотите скопировать на удаленном компьютере.Если вместо этого вы захотите поэкспериментировать на удаленной машине, как вы можете
ssh
, вы можете запуститьsftp
. Вход на сервер очень похожssh
, но как только вы войдете в систему, введитеhelp
список команд - он позволяет вам перемещаться как на локальных, так и на удаленных компьютерах, и легко переносить файлы назад и вперед.источник
Странно, что это невозможно изнутри
ssh
. В обычном терминале можно отправлять / получать файлы с помощью команд zmodem.Это помогло Google
zssh
: http://zssh.sourceforge.net/ . Нужно будет запустить его как обертку к оригиналуssh
.источник