[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["難以理解","hardToUnderstand","thumb-down"],["資訊或程式碼範例有誤","incorrectInformationOrSampleCode","thumb-down"],["缺少我需要的資訊/範例","missingTheInformationSamplesINeed","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-09-04 (世界標準時間)。"],[[["\u003cp\u003eSCP (secure copy) is used to transfer files to and from Google Distributed Cloud air-gapped virtual machine (VM) instances via the command line.\u003c/p\u003e\n"],["\u003cp\u003eTo use SCP, you must have access management enabled, manually manage your SSH keys, and enable ingress on port 22 for your VM.\u003c/p\u003e\n"],["\u003cp\u003eTransfer files to a VM by using the SCP command \u003ccode\u003escp -i ~/.ssh/my-ssh-key LOCAL_FILE_PATH USERNAME@IP_ADDRESS:~\u003c/code\u003e, replacing the variables with your file path, username, and the VM's external IP.\u003c/p\u003e\n"],["\u003cp\u003eTransfer files from a VM to your workstation using the SCP command \u003ccode\u003escp -i ~/.ssh/my-ssh-key USERNAME@IP_ADDRESS:REMOTE_FILE_PATH LOCAL_FILE_PATH\u003c/code\u003e, replacing variables with your credentials and file paths.\u003c/p\u003e\n"],["\u003cp\u003eYou must have the Project VirtualMachine Admin role to perform file transfer tasks to VMs.\u003c/p\u003e\n"]]],[],null,["# Transfer files\n\nUse secure copy (SCP) from the command line to transfer files to\nGoogle Distributed Cloud air-gapped virtual machine (VM) instances.\n\nBefore you begin\n----------------\n\n| **Important:** You *must already have access management enabled* to proceed. If you do not, follow the steps in [Guest environment](/distributed-cloud/hosted/docs/latest/gdch/application/ao-user/vms/manage-the-os/guest-environment). By default, access management is enabled.\nYou need the following to use the SCP command-line tool to transfer files to VMs:\n\n- You must manually manage your SSH keys.\n- You must enable ingress on port 22 for your VM. See the [Enable IP addresses](/distributed-cloud/hosted/docs/latest/gdch/application/ao-user/vms/connect-to-vm/ip-addresses) page for more information.\n\nThe SCP tool uses the same key files that you use to connect to your instances\nusing standard SSH.\n| **Important:** If you haven't yet applied a public key to your VM instance, create an SSH key pair and add the public key to the VM following the instructions in [Linux (SSH)](/distributed-cloud/hosted/docs/latest/gdch/application/ao-user/vms/connect-to-vm/connect-to-a-vm#api).\n\n### Request permissions and access\n\nTo perform the tasks listed in this page, you must have the Project\nVirtualMachine Admin role. Follow the steps to\n[verify](/distributed-cloud/hosted/docs/latest/gdch/application/ao-user/vms/preparation#verify-user-access)\nthat you have the Project VirtualMachine Admin (`project-vm-admin`) role in the namespace\nof the project where the VM resides.\n\nTransfer files to VMs\n---------------------\n\nLocate the external IP address for the VM to which you want to send files using\nthe instructions on the [Enable IP addresses](/distributed-cloud/hosted/docs/latest/gdch/application/ao-user/vms/connect-to-vm/ip-addresses)\npage.\n\nUse the SCP tool to copy a file from your workstation to the home directory of\nthe target VM in the following example, which uses a private key at\n`~/.ssh/my-ssh-key`: \n\n scp -i ~/.ssh/my-ssh-key \u003cvar translate=\"no\"\u003eLOCAL_FILE_PATH\u003c/var\u003e \u003cvar translate=\"no\"\u003eUSERNAME\u003c/var\u003e@\u003cvar translate=\"no\"\u003eIP_ADDRESS\u003c/var\u003e:~\n\nUse the following definitions for your variables.\n\nTransfer files from a VM\n------------------------\n\nTo copy files from a VM to your local workstation, reverse the source and\ndestination variables. The following example shows how to copy a file from your\nVM to a path on your workstation: \n\n scp -i ~/.ssh/my-ssh-key \u003cvar translate=\"no\"\u003eUSERNAME\u003c/var\u003e@\u003cvar translate=\"no\"\u003eIP_ADDRESS\u003c/var\u003e:\u003cvar translate=\"no\"\u003eREMOTE_FILE_PATH\u003c/var\u003e \u003cvar translate=\"no\"\u003eLOCAL_FILE_PATH\u003c/var\u003e\n\nUse the following definitions for your variables."]]