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

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 사용



답변

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

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

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

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


답변

PSCP.exe 사용

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

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


답변

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

pwd

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


답변

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

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

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


답변

관련 : 경로에서 로컬 변수를 사용해야했고 사용 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 또는 알 수 없음


답변