我一直在使用计算引擎上的Debian,并想知道如何将SFTP引入服务器。我找不到任何文件,并希望有人能指出我正确的方向。
谢谢!
如果无法做到这一点,是通过SCP管理静态网站的最佳方式吗?
答案 0 :(得分:7)
我放弃了gcloud计算副本文件,因为我无法弄清楚为什么我的实例没有被提取以及权限不足的东西,然后我开始研究如何sftp进入我的gcloud实例
这就是我如何使用filezilla
首先我下载并运行了gcloud sdk:https://cloud.google.com/compute/docs/gcloud-compute/#install
当我第一次尝试从终端连接到一个实例时,我被提示创建ssh密钥,我在mac上,所以密钥设置在/ Users //文件夹下.ssh /夹
我从.ssh /文件夹中获取了google_compute_engine私钥,并将其导入到filezilla>设置> SFTP
主机是我的gcloud vm实例的ip地址,用户是你通过ssh连接到实例时的用户名。检查提示:[@] $,你的密钥应该是你的方法认证。您的远程目录与/ home //相同,服务器类型为unix(我在google云中有centos vm)
一旦我的文件从我的计算机上传到我的实例上的目录中,我就可以将它们发送到我需要这些文件在gcloud vm实例中的任何地方。
我又是一个快乐的露营者。
答案 1 :(得分:5)
在较高的层面上,这些是以下步骤:
$ gcloud init
)$ gcloud compute ssh
)假设此问题在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)
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。
打开防火墙中的端口22:
gcutil addfirewall port-22 --description="Open up port 22." --allowed="tcp:22"
使用Filezilla Client建立SFTP连接进行测试。
玩得开心:)
答案 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目录。