SFTP进入Google Compute Engine

时间:2014-03-04 04:21:00

标签: ubuntu ssh ftp sftp google-compute-engine

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

谢谢!

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

8 个答案:

答案 0 :(得分:7)

我放弃了gcloud计算副本文件,因为我无法弄清楚为什么我的实例没有被提取以及权限不足的东西,然后我开始研究如何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>设置> SFTP

  4. 主机是我的gcloud vm实例的ip地址,用户是你通过ssh连接到实例时的用户名。检查提示:[@] $,你的密钥应该是你的方法认证。您的远程目录与/ home //相同,服务器类型为unix(我在google云中有centos vm)

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

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

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

答案 1 :(得分:5)

在较高的层面上,这些是以下步骤:

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

    假设此问题在Google documentation提供之前就已在此处提出。

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

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

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

    所示

答案 2 :(得分: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 :(得分:3)

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

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

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

答案 4 :(得分: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

答案 5 :(得分:1)

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

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

答案 6 :(得分:0)

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

  1. 尝试this tutorial

  2. 打开防火墙中的端口22:

    gcutil addfirewall port-22 --description="Open up port 22." --allowed="tcp:22"

  3. 使用Filezilla Client建立SFTP连接进行测试。

  4. 玩得开心:)

答案 7 :(得分:0)

FileZilla免费版和FileZilla Pro都可以连接到Debian的Google Cloud VM实例。 PuTTY,另一个需要的程序,也是免费的。

1.下载PuTTY以生成SSH密钥。我无法使用gcommand(Google Cloud连接)生成的密钥连接到实例。必须使用PuTTY键使FileZilla连接。
一种。启动PuTTYgen
b。点击“生成”
C。不要保存公钥。它使密钥无效。而是从窗口复制它。
d。将其粘贴到文本编辑器中,然后另存为KEYNAME.pub
e。在PuTTY中,单击“转换>导出OpenSSH密钥”,然后保存扩展名为“ .ppk”
F。不要关闭腻子。稍后您将需要它。

2.在Google控制台中,编辑您的Compute Engine实例。
*通过从文本编辑器粘贴来添加公共SSH密钥(KEYNAME.pub)。

3.启动FileZilla,然后启动其他需要的程序(在此描述)
一种。转到“编辑>设置”
b。从左侧菜单中选择“ SFTP”。
C.在右侧,单击“添加密钥文件...”(导航到保存的ppk私钥。)
d。单击确定
e。在工具栏中的“主机”字段中输入“ sftp://123.456.789.012”(带有实例的外部IP地址)。
F。在PuTTY中复制“关键评论”字段。
G。在FileZilla工具栏上,将PuTTY中复制的“关键注释”输入到FileZilla字段“用户名”中。
H。在FileZilla工具栏上,单击“快速连接”。
一世。在FileZilla右窗格的“远程站点”上,滚动到目录树的顶部,然后单击加号(+),然后再次单击加号(+)。这将加载整个操作系统的目录结构。
j。向下滚动到最后一个目录“ var”,然后单击它,然后展开其加号(+)。
k。目录“ www”将弹出。单击该名称,然后单击其加号将其展开。
l。弹出目录“ html”。点击它。离开FileZilla(不关闭它),然后转到“ Google Cloud SDK> Google Cloud SDK Shell”。保持打开状态。
米转到Google Cloud控制台并列出您的Compute Engine实例。在实例的右侧,单击“ SSH”下拉列表,然后选择“ View gcloud command”。复制命令。
。将该命令粘贴到“ Google Cloud SDK Shell”中。这将启动PuTTY终端,并为您提供Linux系统的命令提示符。
o。键入命令“ sudo chmod -v 777 / var / www / *”(结尾是星号。)
p。返回FileZilla并将您的Web文件拖到右窗格的“ html”目录中。您可能必须单击工具栏上的“断开连接”,才能使用新权限写入该目录。 (这是带有红色“ X”的计算机图标。)然后再次单击“快速连接”,并像以前一样列出目录。
q。上传完文件后,转到PuTTY(或在粘贴gcommand字符串时打开的任何终端),然后输入以下命令:“ sudo chmod -v 755 / var / www / *”以重置“ www “目录。


砰!你完成了。

使用FileZilla,您可以操纵整个Linux系统的文件。我只是将其用于Web目录。