我一直在使用GCP控制台连接到一个云实例,我想通过powershell切换到使用SSH,因为这样似乎可以保持更长的持久性。通过云shell将我的公钥传输到authorized_key文件似乎是暂时的,因为一旦云shell断开连接,文件就不会持久存在。我尝试过使用os-login,但这会生成一个与我通过cloud shell使用的完全不同的用户(Cloud shell创建一个用户:myname
,而gcloud创建一个用户:myname_domain_com
。当通过gcloud登录时,有没有办法继续使用cloud shell创建的相同配置文件。我在控制台和gcloud myname@domain.com
中使用相同的电子邮件和帐户。另一种选择是从gcloud重新开始,这将是一种痛苦。
发布于 2018-09-21 03:21:23
如果您希望SSH到google云项目的不同实例(从mac或Linux),请执行以下操作:
步骤1.安装无密码的SSH密钥
使用以下命令在mac上生成密钥
ssh-keygen密钥rsa -f ~/.ssh/ -C例如,私钥名称可以是bpa-ssh- -t。它将在~/.ssh目录中创建两个名称如下的文件
bpa-ssh-key bpa-ssh-key.pub步骤2.更新GCP项目上的公钥
转到Google Cloud Console,选择您的项目,然后
VMInstances->Metadata->SSH Keys->Edit->Add Item
在此处剪切并粘贴bpa-ssh-key.pub (来自mac)的内容,然后保存
如果VM实例正在运行,则重置该实例
步骤3.在mac上编辑~/.ssh下的配置文件编辑~/.ssh/config以添加以下行
Host * PubKeyAuthentication yes密钥~/.ssh/bpa-ssh- IdentityFile步骤4. SSHing到GCP实例
ssh username@ gcloud -externalip它应该在gcloud实例上创建一个SSH shell,而不询问密码(因为您已经创建了没有密码的RSA/SSH密钥)。
由于元数据在同一项目下的所有实例中都是通用的,因此您可以通过选择gcloud实例各自的外部IP无缝地SSH到任何实例。
https://stackoverflow.com/questions/51029237
复制相似问题