gcloud compute config-ssh 导致权限被拒绝

gcloud compute config-ssh results in permission denied

我正在尝试通过 ssh 连接到 gce 实例:

C:\Users\Kevin>gcloud compute config-ssh
You should now be able to use ssh/scp with your instances.
For example, try running:

  $ ssh sdkmanager.us-central1-a.canigraduate-43286


C:\Users\Kevin>ssh sdkmanager.us-central1-a.canigraduate-43286
kevin@35.184.189.41: Permission denied (publickey).

所以我猜“应该”并不意味着“可以”。我该怎么做才能弄清楚为什么这不起作用?我已 OS 禁用登录。

好的,我明白了 Hector 的建议是怎么回事。事实证明,Windows、gcloud 生成(我认为)PuTTY-compatible RSA 密钥而不是 OpenSSH 密钥。即我的私钥以

开头
-----BEGIN RSA PRIVATE KEY-----

另一方面,在 WSL 上它生成一个 OpenSSH 私钥。

-----BEGIN OPENSSH PRIVATE KEY-----

但是,在 Windows 10+ 中,如果您使用默认的 ssh 命令而没有安装 PuTTY 或类似软件,它实际上是一个 OpenSSH 客户端,而不是 PuTTY 客户端。因此,它将拒绝密钥。

如果我将密钥从 WSL 复制到我的 C:\Users\Kevin\.ssh\ 目录,覆盖 gcloud 生成的密钥,Windows 中的 ssh 客户端可以工作。

我不确定这是否是 gcloud 方面的故意,但我猜它期待一个不同于 Windows.

中默认客户端的 ssh 客户端