无法从 google/cloud-sdk:alpine docker 容器通过 ssh 连接到 gcloud VM 实例

无法从 google/cloud-sdk:alpine docker 容器通过 ssh 连接到 gcloud VM 实例

我正在尝试从 GitLab CI/CD 运行器连接到 Google Cloud VM 实例,以便能够部署 Docker Swarm 堆栈和服务。但是我发现在运行时

gcloud compute ssh <instance-name> --quiet 

从 google/cloud-sdk:alpine docker 镜像中,密钥已上传到镜像中(使用云控制台确认),但连接失败

ERROR: (gcloud.compute.ssh) [/usr/bin/ssh] exited with return code [255].

使用 -vvv 检查输出时,输出的最后几行显示

debug1: Offering RSA public key: /root/.ssh/google_compute_engine
debug3: send_pubkey_test
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 60
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug2: input_userauth_pk_ok: fp SHA256:pbWpf3dF2nJgcR9Z7pPmIwTsS0IEKK5bgakYJfAQK5o
debug3: sign_and_send_pubkey: RSA SHA256:pbWpf3dF2nJgcR9Z7pPmIwTsS0IEKK5bgakYJfAQK5o
debug3: send packet: type 50
debug3: receive packet: type 51
debug1: Authentications that can continue: publickey
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try.
Permission denied (publickey).

使用云控制台中的 SSH 按钮连接工作正常。

有什么想法可能阻止这项工作吗?

答案1

经过一些实验,结果表明以不同的用户身份登录 root 是可行的,即使用

gcloud compute ssh <user-name>@<instance-name> --quiet 

一切正常。我猜想 Google 不允许 root ssh 访问其实例。

相关内容