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 客户端
我正在尝试通过 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.