[英]Error Public Key when trying to ssh into Google Cloud Platform VM
我一直在使用 VSCode 的 remote-ssh 来访问我在谷歌云上运行的虚拟机。 这一直工作得很好,直到我为我最近的实例制作了一个快照,并在一个更大的虚拟机上创建了一个新实例。 现在,当我尝试连接(通过任何方法)时,我得到:“权限被拒绝(公钥)”。 我花了无数小时删除和重新添加,并重新创建我的 ssh 密钥无济于事。 在我简单地运行“gcloud compute config-ssh”之前,它创建了一个工作配置文件,但现在它可以工作了。 请帮助,我已经尝试了所有方法,但我根本无法访问 ssh。在网站上,我可以单击 ssh 按钮打开他们的 shell,但无法从我的终端执行此操作
问题可能与VSCode连接时没有识别到你的SSH私钥有关。 您可以指示您的私钥添加指向您的 SSH 私钥的 IdentityFile 选项,这在您的 SSH 连接主机条目中的 SSH 配置文件中:
Host vm_name
HostName external_ip
IdentityFile /path/to/ssh_private_key
Port port_number
如果您或某人需要更多信息,请在这里说来话长。
您可以从一开始就输入 go 以确保您不会泄露 SSH 密钥,这就是问题的根源。
创建 SSH 密钥
首先,创建新的 ssh 密钥。在您将用于访问远程主机(即 Google VM 实例)的计算机中,打开您的终端或 cmd 和 go 到 ssh 文件夹以生成密钥。
我的 ssh 配置和密钥在我的用户目录下, /home/my_user/.ssh
on Linux 或C:\Users\my_user\.ssh on Windows
。
我将 cd 到这些路径之一,具体取决于我目前使用的路径。
Linux:
cd /home/my_user/.ssh
Windows:
cd C:\Users\my_user\.ssh
生成SSH密钥的命令
ssh-keygen -t rsa -f my_ssh_key -C user
my_ssh_key : 你的key的名字,你可以放你想更好识别的
user :必须是您要用于连接 Google VM 实例的用户。
这将生成一个名为my_ssh_key
的私钥和一个名为my_ssh_key.pub
的公钥。
或者,留在操作系统的任何位置并传递生成密钥的绝对路径:
Linux:
ssh-keygen -t rsa -f /home/my_user/.ssh/my_ssh_key -C user
Windows:
ssh-keygen -t rsa -f C:\Users\my_user\.ssh\my_ssh_key -C user
将公钥复制到您的 Google 云 VM authorized_keys 文件中
/home/my_user/.ssh/authorized_keys
** 不要重写authorized_keys
文件中已经存在的任何公钥 jus append。
为远程连接添加新的 ssh 主机条目
单击 VS Code 右下角的Remote SSH manager
图标,单击Remote SSH: Open Configuration File
选项并选择您的 ssh 配置文件以添加另一个用于远程连接的 SSH 条目。
配置文件必须在 SSH 目录下,与生成 SSH 密钥步骤中使用的路径相同。
Linux:
/home/my_user/.ssh/config
Windows:
C:\Users\my_user\.ssh\config
要添加另一个主机,请编写以下内容进行适当的更改:
Host vm_name
HostName external_ip
IdentityFile /path/to/ssh_private_key
Port port_number
vm_name :是以实际方式连接 ssh 命令的别名,可能是你想要的。
external_ip :您的 Google VM 实例的外部,您可以在https://console.cloud.google.com/的 VM 实例面板中获取
IdentityFile :您的私有 SSH 密钥的路径,您生成的该注释的文件具有 .pub 扩展名。 Linux:
/home/my_user/.ssh/my_ssh_key
Windows:
C:\Users\my_user\.ssh\my_ssh_key
端口:您的Google VM实例的SSH的por号,22是默认端口。
现在只需选择此主机即可连接到您的 Google VM 实例。
有关谷歌云平台 SSH 设置的更多详细信息: https://cloud.google.com/compute/docs/instances/adding-removing-ssh-keys#linux-and-macos_1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.