scp를 사용하여 서버에서 파일을 추출하는 방법은 무엇입니까?

scp를 사용하여 서버에서 파일을 추출하는 방법은 무엇입니까?

저는 A 머신에 있고 B 머신에서 파일을 추출하고 싶습니다.

A$ scp <myuserid>@hostB:<path of file in B> .

그것은 말한다:

scp: <path of file in B>: No such file or directory

하지만 머신 B에서는 이 파일이 이 경로에 존재합니다.

무엇이 잘못되었나요?

답변1

파일을 지정하지 않았습니다. 콜론 뒤에 파일(경로 포함)을 추가해야 합니다.

A$ scp <myuserid>@hostB:/absolutepath/file .

또는

A$ scp <myuserid>@hostB:relativepath/file .

홈 디렉터리에 대한 상대 경로입니다.

다른 사용자(예: A와 B의 동일한 사용자)를 지정하지 않으면 다음이 필요하지 않습니다.@

A$ scp hostB:/path/file .

답변2

$ scp username@remoteip:remote_location_file /location/where/you/save

주석과 마찬가지로:이는 파일을 복사할 때만 작동합니다. 디렉토리를 복사하려면 다음을 사용하십시오.

$ scp -r username@remoteip:remote_location_directory /location/where/you/save

우리는 이미 두 번째 명령에서 재귀 옵션을 살펴보았습니다. 이 옵션은 필요한 경우 사용할 수 있는 다른 옵션과 함께 나열됩니다.매뉴얼 페이지에서:

  • -r
    전체 디렉터리를 재귀적으로 복사합니다.

  • -P port
    연결할 원격 호스트의 포트를 지정합니다. -p는 rcp에서 파일의 시간과 모드를 보존하기 위해 이미 예약되어 있으므로 이 옵션은 대문자 "P"로 작성됩니다.

  • -p
    원본 파일의 수정 시간, 액세스 시간 및 모드를 유지합니다.

  • -v

    상세 모드. scp 및 ssh가 진행 상황에 대한 디버그 메시지를 인쇄하도록 합니다. 이는 연결, 인증 및 구성 문제를 디버깅하는 데 도움이 됩니다.

답변3

올바른 scp 경로 사용

scp ssh://user@hostname/tmp/foo.txt .

답변4

DMZ 사용자와 비밀번호가 있는 경우 로컬 시스템에서 DMZ에서 로컬 Linux 시스템(풀)으로 양방향으로 쉽게 SCP를 수행할 수 있습니다. 현재 로그인된 비밀번호에 복사된다는 뜻입니다 abc.text.folder2

scp user@111111:folder1/folder2/abc.txt .

비밀번호를 물어볼 거예요

그게 다야

이제 로컬 컴퓨터의 폴더, 하위 폴더 및 파일을 DMZ로 보내려고 합니다.

usr@localmachine:~/abc/defs>  scp -r folder/ usr@111111:vkrishna/docker/

비밀번호를 다시 묻습니다

:은 원격 컴퓨터의 루트 폴더이고 vkrishna는 폴더 중 하나이며 docker 하위 폴더이기도 합니다. 로컬 defs 폴더에는 folder완전히 전송하려는 폴더가 있습니다 .

좋다/abc/defs/folder

관련 정보