Google SDK / gcloud,因SSH无法上传文件

时间:2015-02-05 16:42:16

标签: ssh google-compute-engine

Google Compute Engine,在Windows 8.1上安装了Google SDK

尝试将Windwos笔记本电脑上的文本文件上传到我的VM实例时,收到以下消息。

c:\Users\user\Desktop>gcloud compute copy-files test.txt root@<my instance>:<my folder> --zone <zone>
Server refused public-key signature despite accepting key!
Fatal: Disconnected: No supported authentication methods available (server sent: publickey,gssapi-keyex,gssapi-with-mic)
ERROR: (gcloud.compute.copy-files) [C:\Program Files\Google\Cloud SDK\google-cloud-sdk\bin\..\bin\sdk\scp.EXE] exited with return code [1].

我用谷歌搜索(是的......)消息并得到解释说:&#34;这意味着SSH客户端生成的公钥已成功传输到服务器但与之不匹配存储在服务器上。&#34;

我对SSH相关的东西不是很熟练,并且知道通过网络Google Developers Console启动的SSH终端工作正常,我不想搞砸VM上的SSH配置文件侧。

提前感谢您的支持

BR

1 个答案:

答案 0 :(得分:2)

首先,我在以下GCE页面Google Developers Console中的“设置ssh密钥”部分之后完成了一些SSH清理。在我的笔记本电脑上,我使用Puttygen生成了 SSH-2 RSA 键,在计算 - &gt;计算引擎 - >元数据之后添加了公钥,然后在 SSH中选项卡,然后使用我在VM实例创建期间定义的“user_name_gmail_com”用户通过Putty(在Putty窗口中添加私钥.PPK文件)成功连接到我的VM。

一旦我了解到我开始查看SDK在C:\ Users \ user \ .ssh文件夹中生成的现有公钥和私钥。我还可以使用相同的用户名通过Putty使用私钥连接到VM。

好的,一旦SSH的东西被理解,我就像上面那样启动了copy-files,现在得到了permission denied。我通过在远程文件夹名称

之前添加“〜”解决了这个问题
C:\Users\user\Desktop>gcloud compute copy-files test.txt <user_name>_gmail_com@<my instance>:~/my_folder --zone <zone>
test.txt                  | 0 kB |   0.0 kB/s | ETA: 00:00:00 | 100%