Проблема с синтаксисом scp

Я пытаюсь скопировать архив .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, который я использую. Однако я не мог понять это. Не могли бы вы помочь мне?

Спасибо.

2
задан 15 May 2012 в 12:55

4 ответа

Как правило, если вы хотите отправить что-то на удаленный сервер через 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 .
0
ответ дан 15 May 2012 в 12:55

Со страницы руководства scp:

 -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?

0
ответ дан 15 May 2012 в 12:55

Попробуйте выполнить команду:

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/.

0
ответ дан 15 May 2012 в 12:55

Я полагаю, что у вас нет DNS в вашей сети. Похоже, что он не может разрешить ваше имя. .

$ scp canserhan@embserv:~/tar_files/rtl_archive.tar serhan@<remote-ip>:~Documents

Кроме того, попробуйте указать полный / абсолютный путь вместо ~.

0
ответ дан 15 May 2012 в 12:55

Другие вопросы по тегам:

Похожие вопросы: