Google Cloud Compute (Linux Debian 실행)에서 모든 서버 파일을 다운로드하려고합니다. SSH 및 Google Cloud Compute에 익숙하지 않습니다. 모든 파일을 복사하거나 (git pull 요청과 유사) zip을 만들고 다운로드하는 것을 선호합니다. 요컨대 제거 Google Cloud 서버의 모든 파일을 로컬 컴퓨터에 복사해야합니다.
미리 감사드립니다.
답변
사용해보십시오 gcloud compute scp
:
gcloud compute scp
[[USER@]INSTANCE:]SRC [[[USER@]INSTANCE:]SRC …]
[[USER@]INSTANCE:]DEST
[--compress] [--dry-run] [--force-key-file-overwrite]
[--plain] [--port=PORT] [--recurse] [--scp-flag=SCP_FLAG]
[--ssh-key-file=SSH_KEY_FILE]
[--strict-host-key-checking=STRICT_HOST_KEY_CHECKING]
[--zone=ZONE]
[GCLOUD_WIDE_FLAG …]
[-h]
예를 들어
$ gcloud compute scp \
my-instance-1:~/file-1 \
my-instance-2:~/file-2 \
~/my-destination \
--zone us-central2-a
다른 방법으로, 당신은 또한 (비 사용 gcloud
) sftp
또는 scp
; 지정해야하는 명령 줄 인수에 대한 자세한 내용 은 이 SO 답변 을 참조하십시오.
sftp -o IdentityFile ~/.ssh/google_compute_engine user@host
다른 SFTP 도구를 사용하려면 SSH 프라이빗 키에 대한 경로를 비슷하게 제공하면 인스턴스에 연결할 수 있습니다. 그러나의 경우 gcloud
호스트 이름을 공개 IP 자체로 확인할 수 있습니다. 다른 모든 도구의 경우 IP를 수동으로 찾아서 IP 주소를 직접 지정해야합니다.
답변
( gcloud compute copy-files
지금은 더 이상 사용되지 않으므로 gcloud compute scp
권장됩니다)
다음 gcloud compute scp
과 같이 사용하십시오 :
gcloud compute scp [[USER@]INSTANCE:]SRC [[[USER@]INSTANCE:]SRC …]
[[USER@]INSTANCE:]DEST [--compress] [--dry-run] [--force-key-file-overwrite]
[--plain] [--port=PORT] [--recurse] [--scp-flag=SCP_FLAG]
[--ssh-key-file=SSH_KEY_FILE] [--strict-host-key-checking=STRICT_HOST_KEY_CHECKING]
[--zone=ZONE] [GCLOUD_WIDE_FLAG …]
예를 들면 다음과 같습니다.
$ gcloud compute scp example-instance:~/REMOTE-DIR ~/LOCAL-DIR \
--zone us-central1-a
영역이 이미 설정되어있는 경우 ( gcloud config set compute/zone ZONE
환경 변수 사용 또는 사용) , 위의 영역을 지정할 필요가 없습니다.
또한 gcloud compute scp
기본적으로 재귀 적으로 복사하지 않습니다. --recurse
플래그 를 사용해야합니다 .
답변
SFTP를 사용할 수 있습니다 (Google은 Filezilla를 문서에 사용했습니다). CLI에 익숙하지 않으므로 GUI 옵션 Filezilla 및 기타가 제공하는 것과 같습니다.
높은 수준의 단계는 다음과 같습니다.
- gcloud SDK 설치 및 실행 (
$ gcloud init
) - SSH 키 생성 (
$ gcloud compute ssh
) - FTP 클라이언트 설정 (키 파일 설치 및 추가)
- SFTP 클라이언트를 사용하여 VM에 연결
그리고 여기 구글의 문서 가 있습니다.
또한 이것을 기록했는데 도움이 될 수 있습니다.
답변
이것은 나를 위해 일했다
구문 :
gcloud compute scp <UserName>@<ServerName/InstanceName>:~/<FilePathFromInstance> <LocalSystemFilePath>