我想我忘记了SSH密钥的密码,但我有一种预感。我如何检验我是否正确?
当前回答
目前为止,我在网上找到的最好的答案是:
ssh-keygen -y -P "" -f ~/.ssh/id_rsa
将尝试将密码短语作为空字符串读取私钥。如果您有一个没有密码短语的密钥,这将显示一个公共密钥。
否则,应用程序将退出一个错误代码和消息:
Load key "~/.ssh/id_rsa": incorrect passphrase supplied to decrypt private key
其他回答
如果你的密码是解锁你的SSH密钥,你没有SSH -agent,但有sshd (SSH守护进程)安装在你的机器上,做:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys;
ssh localhost -i ~/.ssh/id_rsa
在~ / . ssh / id_rsa。Pub是公钥,~/. Pub是公钥。“Ssh /id_rsa”为私钥。
将@RobBednark的解决方案扩展到特定的Windows + PuTTY场景,您可以这样做:
用PuTTYgen生成SSH密钥对(在Windows中手动生成SSH密钥),保存到PPK文件中; 在Windows资源管理器的上下文菜单中,选择用PuTTYgen编辑。它将提示输入密码。
如果你输入了错误的密码,它会再次提示。
注意,如果您喜欢输入,请在包含PPK文件的文件夹上使用以下命令:puttygen private-key。ppk - y。
目前为止,我在网上找到的最好的答案是:
ssh-keygen -y -P "" -f ~/.ssh/id_rsa
将尝试将密码短语作为空字符串读取私钥。如果您有一个没有密码短语的密钥,这将显示一个公共密钥。
否则,应用程序将退出一个错误代码和消息:
Load key "~/.ssh/id_rsa": incorrect passphrase supplied to decrypt private key
使用“ssh-keygen -p”。你可以加上"-f "
它将提示您输入旧密码。如果密码正确,会提示输入新密码。如果旧密码不正确,将显示“Failed to load key <…>”。
您可以通过尝试将SSH密钥密码短语加载到SSH代理中来验证它。在OpenSSH中,这是通过ssh-add完成的。
完成之后,请记住通过运行SSH -add -d从终端卸载SSH密码短语。
推荐文章
- 如何强制从另一个SSH会话分离屏幕?
- com.jcraft.jsch.JSchException: UnknownHostKey
- 如何在Python中scp ?
- 在SSH会话中查找客户端的IP地址
- 自定义SSH端口上的Git
- Git显示“警告:永久添加到已知主机列表”
- 为什么git在Windows下记不住我的密码
- SSH端口转发~/。ssh /配置文件?
- Git克隆/拉不断冻结在“存储密钥在缓存?”
- 如何在Bash脚本中使用密码执行sftp命令?
- 通过SSH配置Git登录一次
- 运行ssh后立即执行命令
- ssh -L转发多个端口
- 从PKCS12文件中提取公钥/私钥,供以后在SSH-PK-Authentication中使用
- 在python shell中按方向键时看到转义字符