Я пытаюсь скопировать архив .tar с удаленного сервера на мой компьютер.
Каталог архива, который я хочу скопировать:
canserhan@embserv:~/tar_files/rtl_archive.tar
Место назначения:
serhan@serhan-Lenovo-B560:~/Documents$
Я подключаюсь к удаленному серверу и использую команду:
canserhan@embserv:~/tar_files$ scp canserhan@embserv:~/tar_files/rtl_archive.tar serhan@serhan-Lenovo-B560:~Documents$
Password:
ssh: serhan-Lenovo-B560: Name or service not known
lost connection
canserhan@embserv:~/tar_files$
[ 117] Должно быть что-то не так с синтаксисом scp, который я использую. Однако я не мог понять это. Не могли бы вы помочь мне?
Спасибо.
Как правило, если вы хотите отправить что-то на удаленный сервер через scp:
scp some_files.tar user@remoteHost:
scp some_files.tar user@remoteHost:Documents/newname.tar
Но если вы хотите что-то скачать:
scp user@remoteHost:Documents/foo.tar ~/Desktop
scp user@remoteHost:/any/other/dir/foo.tar .
Со страницы руководства scp:
blockquote>-3 Copies between two remote hosts are transferred through the local host. Without this option the data is copied directly between the two remote hosts. Note that this option disables the progress meter.
Я бы предположил, что проблема в том, что ваш компьютер
embserv
не может «видеть» ваш другой компьютерserhan-Lenovo-B560
, или, если это возможно, он не может разрешить имя.Когда вы вызываете scp с двумя удаленными машинами, то, что он на самом деле пытается сделать, это что-то , например, , это:
ssh canserhan@embserv "scp ~/tar_files/rtl_archive.tar serhan@serhan-Lenovo-B560:~Documents$"
Это хорошо, так как это означает, что копия будет более эффективный, но он требует, чтобы scp с машины A на машину B работал, что не всегда.
Если это проблема, вы можете решить ее, используя
-3
, или передав числовой IP-адресserhan-Lenovo-B560
(если имя является проблемой), или исправив настройку ssh наembserv
так что он может достичьserhan-Lenovo-B560
.РЕДАКТИРОВАТЬ:
Итак, попробуйте это:
scp canserhan@embserv:~/tar_files/rtl_archive.tar serhan@xxx.xxx.xxx.xxx:~Documents$
где
xxx.xxx.xxx.xx
- IP-адрес вашего сервера.или, если это не поможет, это определенно должно работать, но будет работать медленнее:
scp -3 canserhan@embserv:~/tar_files/rtl_archive.tar serhan@serhan-Lenovo-B560:~Documents$
Кстати,
~Documents$
также выглядит неправильно. Вы уверены, что это не должно быть~/Documents
?
Попробуйте выполнить команду:
scp ~/tar_files/rtl_archive.tar serhan@serhan-Lenovo-B560:~/Documents/
embserv
- ваш локальный компьютер. Если вы напишите scp server1:/path/to/file server2:/path/to/second/file
, это даст команду scp
скопировать файл с одного сервера на второй. Если вы хотите скопировать локальный файл на сервер или наоборот, просто пропустите двоеточия :
и имя машины. В дополнение к этому ~
должен сопровождаться косой чертой в вашем случае. ~
переводится как /home/username/
.
Я полагаю, что у вас нет DNS в вашей сети. Похоже, что он не может разрешить ваше имя. .
$ scp canserhan@embserv:~/tar_files/rtl_archive.tar serhan@<remote-ip>:~Documents
Кроме того, попробуйте указать полный / абсолютный путь вместо ~
.