我目前有一个旧的SSH密钥上传到服务器。问题是我丢失了~/。SSH目录(包含原来的id_rsa和id_rsa. zip)。酒吧文件)。
因此,我想直接在服务器上删除旧的SSH密钥,并上传一个新的密钥。
我尝试了以下命令,但没有成功:
$> ssh-add -D
有没有办法完全删除SSH密钥?
我目前有一个旧的SSH密钥上传到服务器。问题是我丢失了~/。SSH目录(包含原来的id_rsa和id_rsa. zip)。酒吧文件)。
因此,我想直接在服务器上删除旧的SSH密钥,并上传一个新的密钥。
我尝试了以下命令,但没有成功:
$> ssh-add -D
有没有办法完全删除SSH密钥?
当前回答
我的解决方案(openSUSE Leap 42.3, KDE)是重命名文件夹~/。Gnupg显然包含缓存的密钥和配置文件。
在KDE注销/登录后,ssh-add/agent再次运行,并从头创建文件夹,但旧的密钥都消失了。
其他方法都没有成功。
其他回答
检查您的系统上是否有.ssh文件夹
进入文件夹——> /Users/administrator/.ssh/id_ed25519.pub
如果不是,那么
打开终端。
粘贴到终端
检查user→ssh -T git@gitlab.com
删除现有SSH密钥
删除现有的SSH密钥→rm ~/.ssh/github_rsa.pub
创建新的
创建新的SSH密钥→SSH -keygen -t rsa -b 4096 -C "your_email@example.com" 公钥已保存在“/Users/administrator/.ssh/id_ed25519.pub”目录下。 打开公钥保存路径。 复制SSH密钥→GitLab帐号→设置→SSH密钥→添加密钥 从终端→ssh -T git@gitlab.com再次测试
我的解决方案(openSUSE Leap 42.3, KDE)是重命名文件夹~/。Gnupg显然包含缓存的密钥和配置文件。
在KDE注销/登录后,ssh-add/agent再次运行,并从头创建文件夹,但旧的密钥都消失了。
其他方法都没有成功。
我可以确认这个错误仍然存在于Ubuntu 19.04 (Disco Dingo)中。VonC建议的解决方法非常有效,我的版本总结如下:
点击左上角的Activities标签 在出现的搜索框中,输入“启动应用程序” 点击“启动应用程序”图标 在弹出的框中,选择gnome密匙环管理器应用程序(不记得GUI上的确切名称,但它足够独特)并删除它。
接下来,我再次尝试ssh-add -D,重启后ssh-add -l告诉我代理没有身份。我确认我仍然有ssh-agent守护进程运行ps aux | grep代理。所以我添加了我最常用的密钥GitHub (ssh-add ~/.ssh/id_ecdsa),一切都很好!
现在我可以对我最常用的存储库进行正常操作,如果我偶尔需要访问使用RSA密钥的其他存储库,我只需要为它专用一个终端,导出GIT_SSH_COMMAND="ssh -i /home/me/.ssh/id_rsa.pub"。解决了!功劳归于VonC指出了错误和解决方案。
如果您正在尝试执行ssh相关操作,并得到以下错误:
$ git fetch
no such identity: <ssh key path>: No such file or directory
您可以使用以下方法从您的SSH代理中删除丢失的SSH密钥:
$ eval `ssh-agent -s` # start ssh agent
$ ssh-add -D <ssh key path> # delete ssh key
我在我的Unity中打开了“密码和密钥”应用程序,并从安全密钥-> OpenSSH密钥中删除了不需要的密钥 它们也自动从ssh-agent -l中删除了。