SFTP进入Google Compute Engine

问题描述 投票:9回答:7

我一直在使用计算引擎上的Debian,并想知道如何将SFTP引入服务器。我找不到任何文件,并希望有人能指出我正确的方向。

谢谢!

如果无法做到这一点,是通过SCP管理静态网站的最佳方式吗?

ubuntu ssh ftp sftp google-compute-engine
7个回答
7
投票

我放弃了gcloud计算副本文件,因为我无法弄清楚为什么我的实例不是fetch和权限不足的东西,然后我开始研究如何sftp进入我的gcloud实例

这就是我如何使用filezilla

  1. 首先我下载并运行gcloud sdk:https://cloud.google.com/compute/docs/gcloud-compute/#install
  2. 当我第一次尝试从我的终端连接到一个实例时,我被提示创建ssh密钥,我在mac上,所以密钥设置在/ users //文件夹下的.ssh /文件夹下
  3. 我从.ssh /文件夹中获取了google_compute_engine私钥,并将其导入到filezilla> settings> sftp
  4. 主机是我的gcloud vm实例的ip地址,用户是你通过ssh连接到实例时的用户名。检查提示:[@] $,你的密钥应该是你的身份验证方法。您的远程目录与/ home //相同,服务器类型是unix(我在谷歌云中有centos vm)

一旦我的文件从我的计算机上传到我的实例上的目录中,我就可以将它们发送到我需要这些文件在gcloud vm实例中的任何地方。

我又是一个快乐的露营者。

消息来源:http://winscp.net/eng/docs/guide_google_compute_engine


6
投票

从较高的层面来说,这些是以下步骤:

  1. 安装并运行gcloud SDK($ gcloud init
  2. 生成SSH密钥($ gcloud compute ssh
  3. 设置FTP客户端(安装并添加密钥文件)
  4. 使用SFTP客户端连接到VM

假设这个问题在此之前被问到这个来自Google的documentation可用。

另外,我记录了这一点,它可能会有所帮助:

https://www.youtube.com/watch?v=9ssfE6ODpak

只是一个FYI ..如果您需要传输的文件非常小,那么您可能不需要SFTP客户端。直接从控制台转移,如https://youtu.be/HEdXEEYOynE所示


4
投票

您可以使用gcloud compute copy-files上传和下载文件,例如,通过以下方式上传:

gcloud compute copy-files \
     ~/local-dir/file-1 \
     my-instance:~/remote-destination \
     --zone us-central1-a

并通过下载:

gcloud compute copy-files \
     my-instance:~/file-1 \
     my-instance:~/file-2 \
     ~/local-dir \
     --zone us-central1-a

gcloud工具包含在Google Cloud SDK中,并预装在标准的Google Compute Engine VM映像中。


3
投票

似乎谷歌计算机引擎默认已经有SFTP服务。以下是使用WinSCP作为SFTP客户端连接到服务的优秀分步指令。它在第一次尝试时对我来说非常适合。

http://winscp.net/eng/docs/guide_google_compute_engine

使用其他FTP客户端软件应该适用相同的原则。希望能节省一些时间和精力。


1
投票

如果指定实例的IP地址,ssh,scp和sftp都应该可以工作。如果您有静态IP地址,则可以使用DNS,或者可以使用gcutil listinstances或控制台中的IP地址。

一旦知道了实例的IP地址,您还需要使用ssh私钥,该私钥通常位于~/.ssh/google_compute_engine。然后你可以通过sftp连接如下:

sftp -o IdentityFile ~/.ssh/google_compute_engine user@host

1
投票

在Mac或Linux操作系统上,使用“gcloud compute config-ssh:命令。这将在您.ssh dir中设置conf文件,并允许您使用配置文件中配置的别名来使用ssh,scp和sftp。

gcloud doc for config-ssh https://cloud.google.com/sdk/gcloud/reference/compute/config-ssh


0
投票

如果我理解了这个问题,你想在Debian的实例中有一个SFTP。

  1. 试试this tutorial
  2. 打开防火墙中的端口22: gcutil addfirewall port-22 --description="Open up port 22." --allowed="tcp:22"
  3. 使用Filezilla Client测试建立SFTP连接。

玩得开心 :)

© www.soinside.com 2019 - 2024. All rights reserved.