Google Cloud中如何取消Datalab密钥短语的必填设置?
解决Datalab跨项目仍要求输入旧密钥短语的问题
我之前也碰到过一模一样的坑!问题根本不在GCP项目或者实例层面,而是本地的SSH密钥对在搞事情——datalab connect默认会调用GCP生成的SSH密钥来连接实例,这个密钥是存储在你本地电脑上的,和云端的项目、实例完全无关,所以你删项目、删实例都没法摆脱那个旧短语。
下面是具体的解决步骤:
步骤1:定位本地的GCP SSH密钥
GCP默认给Datalab用的密钥对存放在用户目录的.ssh文件夹下,文件名是:
- 私钥:
google_compute_engine - 公钥:
google_compute_engine.pub
你可以在终端执行以下命令确认文件存在:
ls ~/.ssh
步骤2:二选一解决密钥短语问题
方法A:删除旧密钥,重新生成无短语的新密钥
这个方法最简单直接:
- 先删除本地的旧密钥对:
rm ~/.ssh/google_compute_engine ~/.ssh/google_compute_engine.pub
- 重新运行
datalab connect命令:
datalab connect INSTANCE_NAME
- 当提示设置密钥短语时,直接按回车跳过(不要输入任何内容),这样生成的新密钥就没有短语要求了。
方法B:修改现有密钥的短语(保留原密钥)
如果你不想删除旧密钥,可以修改它的短语为空:
- 执行以下命令进入密钥修改流程:
ssh-keygen -p -f ~/.ssh/google_compute_engine
- 首先会提示你输入旧的错误密钥短语(就是你之前输错的那个),输入后回车;
- 接着会提示输入新的密钥短语,直接按回车;再次确认新短语,继续按回车,这样就把密钥改成无短语状态了。
步骤3:确认云端元数据无残留公钥
虽然你说已经删除了元数据里的设置,但可以再检查一遍:
- 打开GCP控制台,进入「IAM与管理」→「元数据」→「SSH密钥」标签页;
- 确保列表里没有和
google_compute_engine.pub对应的公钥条目,如果有,删除即可。
这样操作后,再运行datalab connect就不会再要求输入那个旧短语了。
内容的提问来源于stack exchange,提问作者datahappy
相关产品推荐
相关产品推荐

