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 패키지에 포함 된 pscp
및 psftp
명령을 사용할 수도 있습니다. 기본 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 또는 알 수 없음