scp를 사용하여 로컬 파일을 지정된 경로로 원격 파일 복사


10

SCP를 사용하여 원격 서버에서 파일을 복사하려고했지만 다음과 같은 오류가 발생했습니다.

bash-3.2$ scp username@server:main.php C:\main.php

ssh : 호스트 이름 C를 확인할 수 없습니다 : 호스트 이름 또는 servname 제공 또는 알 수 없음

C :를 호스트 이름으로 가정하고 드라이브 이름 만 가정합니다.이 문제를 제거하기 위해 탈출과 같이 명시 적으로 지정하는 방법을 알려주십시오.

로컬 데스크톱에 저장할 경로를 지정하지 않으면 정상적으로 작동합니다.

bash-3.2$ scp username@server:main.php main.php
main.php                                                                   100%   29KB  28.9KB/s   00:01

도움을 주셔서 감사합니다. 미리 감사드립니다.

PS : Windows XP SP2 사용

답변:


14

Cygwin을 scp사용하는 경우 Cygwin 경로를 사용해보십시오.

scp user@host:main.php /cygdrive/c/main.php

PuTTY 패키지에 포함 된 pscppsftp명령을 사용할 수도 있습니다. 기본 Win32 프로그램이며 Windows 경로에 대해 불평하지 않습니다.

또는 WinSCP 는 훌륭한 SCP / SFTP 클라이언트입니다 (주로 GUI이지만 명령 줄 도구도 함께 제공됨).


실제로는 / cygdrive / c입니다.
Adam Rosenfield 2016 년

권장 GUI에 감사드립니다. WinSCP를 사용하면 사용하는 편집기를 변경할 수 있으며 emacsclientw와 함께 작동합니다.
Giles Roberts

1
@grawity 사실 당신은 전에 정확했습니다. 그것은이다 /cygdrive/c기본적으로하지만, 많은 Cygwin에서 사용자가 실행 mount --change-cygdrive-prefix /그것이 너무 /c대신 ( /d은 타이핑하기가 쉽다로 등))
DavidPostill

2

PSCP.exe 사용

당신이 가지고있는 문제는 당신이 할 수없는 쉘에서 Windows XP 드라이브를 참조하기 때문입니다. 컴퓨터에 원격으로 로그온되어 있으므로 Windows XP 상자에 ssh 서버가 실행되지 않으면 대상 위치에 로그인 및 암호 정보를 사용하지 않으면 그렇게 할 수 없습니다.

pscp.exe (무료)를 사용하면 원하는 것을 할 수 있습니다.


0

@grawity가 맞습니다. 앞으로도 달릴 수 있습니다

pwd

cygwin에 따라 원하는 디렉토리의 올바른 경로를 찾을 수 있도록 현재 어떤 디렉토리에 있는지 확인하십시오.


0

비슷한 문제가 있었고 다음을 사용하여 성공했습니다.

scp username @ server : main.php /c/main.php

그것은 다른 사람들에 의해서만 언급 된 것입니다.


3
실제로, 이것이 superuser.com/a/291841/53590과 정확히 일치하지 않습니까? 또한 후자가 올바른 형식임을 지적한 후 / c /에서 / cygdrive / c /로 편집되었습니다.
CVn

0

관련 : 경로에서 로컬 변수를 사용해야했고 사용 cygpath이 매우 도움이되었습니다.

예 :

scp $MY_FILE ubuntu@192.128.23.23

지다:

scp `cygpath $MY_FILE ` ubuntu@192.128.23.23 

아이러니하게, 그냥 : echo $MY_FILE혼자 cygwin 경로를 제공했지만 scp 명령에 사용되었지만 어떻게 든 그렇지 않았고 같은 오류를 뱉어 냈습니다 .ssh : 호스트 이름 C를 확인할 수 없습니다 : 호스트 이름 또는 제공된 servname 또는 알 수 없음

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.