SFTP 到谷歌计算引擎

     2023-03-04     43

关键词:

【中文标题】SFTP 到谷歌计算引擎【英文标题】:SFTP into Google Compute Engine 【发布时间】:2014-04-05 10:49:23 【问题描述】:

我一直在 Compute Engine 上使用 Debian,想知道如何通过 SFTP 进入服务器。我找不到任何文档,希望有人能指出我正确的方向。

谢谢!

如果这不可能,是通过 SCP 管理静态站点的最佳方式吗?

【问题讨论】:

【参考方案1】:

FileZilla 免费版和 FileZilla Pro 都能够连接到 Debian 的 Google Cloud VM 实例。 PuTTY,另一个需要的程序,也是免费的。 1. 下载 PuTTY 生成 SSH 密钥。我无法使用 gcommand 生成的密钥(谷歌云连接)连接到实例。必须使用 PuTTY 密钥才能连接 FileZilla。 一种。启动 PuTTYgen 湾。点击“生成” C。不要保存公钥。它使密钥无效。而是从窗口中复制它。 d。将其粘贴到文本编辑器中并将其另存为 KEYNAME.pub e.在 PuTTY 中单击“转换 > 导出 OpenSSH 密钥”并使用扩展名“.ppk”保存 F。不要关闭 PuTTY。你马上就会需要它。 2. 在 Google Console 中编辑您的 Compute Engine 实例。 * 通过从文本编辑器粘贴来添加公共 SSH 密钥 (KEYNAME.pub)。 3. 启动 FileZilla,然后启动其他需要的程序(此处描述) 一种。转到“编辑 > 设置” 湾。从左侧菜单中选择“SFTP”。 C. 在右侧,单击“添加密钥文件...”(导航到您保存的 ppk 私钥。) d。点击确定 e.在工具栏中的“主机”字段中输入“sftp://123.456.789.012”(带有您实例的外部 IP 地址)。 F。在 PuTTY 中复制“关键评论”字段。 G。在 FileZilla 工具栏中,输入从 PuTTY 复制的“关键注释”到 FileZilla 字段“用户名”中。 H。在 FileZilla 工具栏上单击“快速连接”。 一世。在 FileZilla 右窗格的“远程站点”上,滚动到目录树的顶部并单击加号 (+),然后再次单击加号 (+)。这会加载整个操作系统的目录结构。 j.向下滚动到最后一个目录“var”并单击它,然后展开其加号 (+)。 ķ。目录“www”将弹出。单击它,然后单击它的加号将其展开。 l.目录“html”弹出。点击它。离开 FileZilla(不关闭它)并转到“Google Cloud SDK > Google Cloud SDK Shell”。保持打开状态。 米。转到 Google Cloud 控制台并列出您的 Compute Engine 实例。在实例右侧,单击“SSH”下拉菜单并选择“查看 gcloud 命令”。复制命令。 n.将该命令粘贴到“Google Cloud SDK Shell”中。这将启动 PuTTY 终端并为您提供 Linux 系统的命令提示符。 ○。键入命令“sudo chmod -v 777 /var/www/*”(最后是一个星号。) 页。返回 FileZilla 并将您的 Web 文件拖到右侧窗格的“html”目录中。您可能必须单击工具栏上的“断开连接”才能使用新权限写入该目录。 (它是带有红色“X”的计算机图标。)然后再次单击“快速连接”并像以前一样列出目录。 问。上传完文件后,转到 PuTTY(或粘贴 gcommand 字符串时打开的任何终端)并输入以下命令:“sudo chmod -v 755 /var/www/*”以重置“www " 目录。 砰!你完成了。 使用 FileZilla,您可以操作整个 Linux 系统的文件。我只是将它用于 web 目录。

【讨论】:

【参考方案2】:

您可以使用gcloud compute scp上传和下载文件,例如,上传方式:

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

并通过以下方式下载:

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

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

【讨论】:

【参考方案3】:

我放弃了 gcloud 计算副本文件,因为我无法弄清楚为什么我的实例没有被获取并且权限不足,然后我开始研究如何 sftp 进入我的 gcloud 实例

这就是我使用 filezilla 的方法

    首先我下载并运行了 gcloud sdk:https://cloud.google.com/compute/docs/gcloud-compute/#install

    当我第一次尝试从终端连接到实例时,系统提示我创建 ssh 密钥,我在 Mac 上,因此密钥设置在 .ssh/ 文件夹下的 /Users// 文件夹中

    我从 .ssh/ 文件夹中获得了 google_compute_engine 私钥并将其导入到 filezilla > settings > sftp

    主机是我的 gcloud vm 实例的 ip 地址,用户是你的用户名,一旦你通过 ssh 连接到实例。检查提示:[@]$,你的密钥应该是你的方法的认证。你的远程目录和/home//一样,服务器类型是unix(我在google cloud有centos vm)

一旦我的文件从我的计算机上传到我的实例上的目录中,我就可以将它们 mv 到我需要这些文件位于 gcloud vm 实例中的任何位置。

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

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

【讨论】:

我已经通过 filezila sftp 连接到我的计算引擎实例,但是当我尝试上传任何文件时,我收到了这个错误:Command: put "/Users/abdul/signUpPage.html" "signUpPage.html" Error: /opt/bitnami/apache2/htdocs/BRWebApp/signUpPage.html: open for write: permission denied Error: File transfer failed 嗨,我安装了 gcloud sdk,但不确定如何“尝试连接”以获得 ssh 密钥提示。那是你运行的命令行吗?我运行 gcloud init,它引导我完成身份验证并连接到我的实例,但没有新密钥,也不知道从那里去哪里【参考方案4】:

概括地说,这些是步骤:

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

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

另外,我已经记录了这个,它可能会有所帮助:

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

仅供参考 .. 如果您需要传输的文件非常小,那么您可能不需要 SFTP 客户端。直接从控制台传输,如此处所示https://youtu.be/HEdXEEYOynE

【讨论】:

在第 2 步。我收到此错误:(gcloud.compute.ssh) 参数 [USER@]INSTANCE: 必须指定。【参考方案5】:

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

用于 config-ssh 的 gcloud 文档 https://cloud.google.com/sdk/gcloud/reference/compute/config-ssh

【讨论】:

【参考方案6】:

好像google计算机引擎默认已经有SFTP服务了。以下是使用 WinSCP 作为 SFTP 客户端连接到服务的出色分步说明。第一次尝试它对我来说非常适合。

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

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

【讨论】:

【参考方案7】:

如果我理解这个问题,您希望在 Debian 的实例中使用 SFTP。

    试试this tutorial

    在防火墙中打开22端口:

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

    使用 Filezilla 客户端建立 SFTP 连接进行测试。

玩得开心:)

【讨论】:

【参考方案8】:

如果您指定实例的 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

【讨论】:

您是否在代码中缺少=?我收到运行您的线路sftp -o IdentityFile~/.ssh/google_compute_engine user@123.123 的错误消息? * 错误的配置选项* 我在运行代码时收到一条错误消息Permission denied (publickey)(使用 =)。似乎比指出钥匙还需要更多?谢谢!

谷歌计算引擎和谷歌容器引擎有啥区别?

...上有一个由Groovy和Jetty完成的Jax~rs应用程序,并计划迁移到谷歌云平台,我 查看详情

java示例代码_将自定义日志处理程序添加到谷歌应用程序引擎

java示例代码_将自定义日志处理程序添加到谷歌应用程序引擎 查看详情

如何使用谷歌应用引擎将 php 项目部署到谷歌云中?

】如何使用谷歌应用引擎将php项目部署到谷歌云中?【英文标题】:Howtodeployphpprojectintogooglecloudusinggoogleappengine?【发布时间】:2018-06-2018:58:22【问题描述】:我是这个php开发的新手。我使用Netbeans8.2环境开发了一个phpWeb应用程序... 查看详情

在将应用程序(springboot)部署到谷歌应用程序引擎时,没有使用sqldb?

计划开发一个春季启动应用程序并部署到谷歌应用程序引擎,一些帖子提到谷歌应用程序引擎不支持mongoDB,我们需要使用谷歌数据存储。像mongo一样,我们可以在谷歌数据源中进行操作和创建吗?答案AppEngine有CloudDatastore数据库... 查看详情

尝试通过 ssh 将 codeanywhere 与谷歌计算引擎连接起来

...问题描述】:codeanywhere提供公共ssh密钥。我已经将它输入到谷歌计算引擎中的元数据和vm实例中,但是每次我尝试从codeanywhere接口连接时,我都会遇到授权失败,并且实例控制台中的 查看详情

将应用程序(春季启动)部署到谷歌应用引擎时,不使用哪个 sql db?

】将应用程序(春季启动)部署到谷歌应用引擎时,不使用哪个sqldb?【英文标题】:Whichnosqldbtobeusedwhendeployinganapplication(springboot)togoogleappengine?【发布时间】:2019-07-2816:09:23【问题描述】:计划开发一个springboot应用并部署到googl... 查看详情

如果我将 Spring Boot 应用程序部署到谷歌云,我应该使用应用引擎还是计算引擎 [重复]

】如果我将SpringBoot应用程序部署到谷歌云,我应该使用应用引擎还是计算引擎[重复]【英文标题】:IfIamdeployingaspringbootapplicationtogooglecloudshouldIuseappengineorcomputeengine[duplicate]【发布时间】:2020-01-1802:39:21【问题描述】:我希望将Sp... 查看详情

如何将我的 keras 模型保存到谷歌驱动器或计算机中?

】如何将我的keras模型保存到谷歌驱动器或计算机中?【英文标题】:HowdoIsavemykerasmodelintogoogledriveorthecomputer?【发布时间】:2021-12-1109:58:11【问题描述】:没有代码,我正在制作一个像样的ML项目,我想将我的keras模型导入谷歌驱... 查看详情

Java - 一次插入一行到谷歌大查询?

】Java-一次插入一行到谷歌大查询?【英文标题】:Java-InsertasinglerowatatimeintogoogleBigQuery?【发布时间】:2018-05-0816:49:11【问题描述】:我正在创建一个应用程序,在该应用程序中,每次用户点击一篇文章时,我都需要捕获文章数... 查看详情

如何在谷歌应用引擎和计算引擎之间建立私有连接?

】如何在谷歌应用引擎和计算引擎之间建立私有连接?【英文标题】:HowtoestablishaprivateconnectionbetweenGoogleappengineandcomputeengine?【发布时间】:2019-10-1211:53:15【问题描述】:我有一个网络应用程序/Api,它目前正在谷歌应用程序引擎... 查看详情

使用谷歌应用引擎上传图片的一步上传

...常基本的功能,将图像从Android、iPhone和网络客户端上传到谷歌应用引擎。感谢this博客,我做了一个初始版本的实现:不过,上传图片似乎总是需要两步:使用createUploadUrl()获取要 查看详情

在谷歌计算引擎上启动和停止实例

】在谷歌计算引擎上启动和停止实例【英文标题】:Startingandstoppinginstancesongooglecomputeengine【发布时间】:2015-08-0618:59:04【问题描述】:我想在谷歌计算引擎上启动/恢复和停止/暂停实例,但它给出“java.lang.UnsupportedOperationException... 查看详情

如何从应用引擎将写入附加到谷歌云存储文件?

】如何从应用引擎将写入附加到谷歌云存储文件?【英文标题】:Howtoappendwritetogooglecloudstoragefilefromappengine?【发布时间】:2014-01-1912:53:06【问题描述】:此已弃用的API支持将内容附加到谷歌云存储文件:FileWriteChannelFileService.openW... 查看详情

MySQL到谷歌图表PHP

】MySQL到谷歌图表PHP【英文标题】:MySQLtogooglechartsPHP【发布时间】:2013-10-1412:03:08【问题描述】:<?php$con=mysql_connect("xxxx.xxxx.xxxx.xx","Myuser","Mypass")ordie("Failedtoconnectwithdatabase!!!!");mysql_select_db("data",$con);$sth=mysql 查看详情

如何激活点击以路由到谷歌地图

】如何激活点击以路由到谷歌地图【英文标题】:HowtoactivatetaptoroutetoGoogleMaps【发布时间】:2021-12-1716:05:58【问题描述】:它说谷歌地图没有安装或被禁用。谷歌地图已安装。所以不知何故禁用。我如何在我的项目中使用它?这... 查看详情

发布到谷歌和亚马逊

】发布到谷歌和亚马逊【英文标题】:Publishingtobothgoogleandamazon【发布时间】:2011-11-0115:02:02【问题描述】:我有一个已发布到谷歌市场的应用程序。它使用谷歌许可。如您所知,亚马逊商店有自己的DRM。其他人在为两家商店编... 查看详情

javascript将数据发送到谷歌表(代码片段)

查看详情

php地址到谷歌地图链接(代码片段)

查看详情