scp를 사용하여 Linux에서 Windows 컴퓨터로 파일을 전송할 수 없습니다.

scp를 사용하여 Linux에서 Windows 컴퓨터로 파일을 전송할 수 없습니다.

쉘 스크립트를 통해 Linux 시스템에서 Windows 공유로 파일/디렉토리를 전송해야 하므로 다음 명령을 사용해 보십시오.

scp <directory-location-path-on-linux>/pom.xml "\\\\<ip-address-or-hostname>\\Shared\\test"

이렇게 하면 콘솔에 출력이 제공되지 않으며 대상에 복사된 파일을 볼 수 없습니다.

scp <username>@<host-ip-of-linux(i.e. of source)>:<directory-location-path-on-linux>/pom.xml "\\\\<ip-address-or-hostname>\\Shared\\test"

이는 비밀번호를 요청하고 비밀번호를 제공한 후 콘솔에 다음 출력을 제공합니다.

pom.xml                                                       100% 4966     6.2MB/s   00:00

그러나 파일은 대상에 복사되지 않습니다.

여기서 무엇이 잘못될 수 있는지 이해하는 데 도움을 주실 수 있나요?

**참고:** 대상 공유 위치에는 모든 사람이 읽기/쓰기 액세스 권한이 있습니다.

답변1

파일 복사를 사용하려면 scp대상 시스템에서 SSH 서버를 실행해야 합니다. 올바른 형식,만약에실제로 SSH 서버가 실행되고 있으며 다음과 같아야 합니다.

scp /path/on/linux/pom.xml ip-address-or-hostname:/remote/path

이것을 실행하면:

scp <directory-location-path-on-linux>/pom.xml "\\\\<ip-address-or-hostname>\\Shared\\test"

아니면 이거:

scp <username>@<host-ip-of-linux(i.e. of source)>:<directory-location-path-on-linux>/pom.xml "\\\\<ip-address-or-hostname>\\Shared\\test"

\\<ip-address-or-hostname>\Shared\test실제로 Linux 시스템의 현재 디렉터리에 이름이 지정된 파일을 만듭니다. 당신 은 그것을 볼 수 있어야 합니다 ls. 예를 들어:

$ scp file "\\\192.168.1.1\\foo"
$ ls
'\\192.168.1.1\foo'   file

당신이 이것을 사용하고 있다는 사실을 바탕으로 \\\, 당신이 정말로 원하는 것은 SMB 프로토콜을 사용하여 Windows 호스트가 공유하는 드라이브에 파일을 복사하는 것이라고 가정합니다. 이를 수행하는 일반적인 방법은 Linux에 SMB 공유 드라이브를 마운트한 다음 cp.

이를 수행하는 방법을 설명하는 수십 개의 리소스가 있습니다. 다음은 "linux mount samba"를 검색할 때 발견한 인기 검색어 중 두 가지이며 출발점 역할을 해야 합니다.

관련 정보