📜  scp 使用 proxyCommand 进入私有实例 (1)

📅  最后修改于: 2023-12-03 15:34:52.165000             🧑  作者: Mango

使用scp命令进入私有实例

在某些情况下,我们需要使用scp命令来传输文件到私有实例中。但由于私有实例不具有公共IP地址,无法从公共网络中直接访问。因此我们需要使用proxyCommand选项来指定proxy jump server来访问私有实例。

步骤:
  1. 在主机上打开终端窗口,输入以下命令(将下面的IP地址、用户名和密钥文件换成自己私有实例的实际值):
$ scp -o ProxyCommand="ssh -W %h:%p -i /path/to/key.pem ec2-user@proxy_server_ip" /local/file/path ec2-user@private_instance_ip:/remote/file/path
  1. 然后按Enter键,此时会提示您输入私有实例的密码(或转到下一步,使用密钥登录私有实例)。

  2. 如果您的私有实例设置了使用密钥进行身份验证,则无需输入密码。只需在第1步中指定您的私有实例私钥和公共密钥的路径即可。例如:

$ scp -o ProxyCommand="ssh -W %h:%p -i /path/to/key.pem ec2-user@proxy_server_ip" -i /path/to/private/key.pem /local/file/path ec2-user@private_instance_ip:/remote/file/path

将上面的命令中/path/to/private/key.pem替换为私钥文件的实际路径。

解释:

上述命令执行了以下步骤:

  1. 指定了ProxyCommand选项来使用SSH跳跃服务器进行连接。%h指代私有实例IP地址,%p指代端口22(SSH默认端口)。

  2. 输入了SSH跳跃服务器上ec2-user用户的登录凭证。

  3. 指定了本地文件的路径和私有实例上的远程文件路径。

  4. 如果需要,指定了私有实例的私钥。

注意事项:
  1. scp命令根据您拥有的密钥确定使用的登录凭证。确保您在本地主机上具有使用的私钥的所有者权限。

  2. 在使用proxyCommand选项时,确保您在proxy服务器上有足够的权限,以便能够连接到私有实例。

  3. 您可以将私钥文件路径替换为存储在您计算机上的密钥文件路径,以免在连接时需要指定它。

以上是使用scp命令进入私有实例的步骤及注意事项。祝您成功。