我目前有一个旧的SSH密钥上传到服务器。问题是我丢失了~/。SSH目录(包含原来的id_rsa和id_rsa. zip)。酒吧文件)。
因此,我想直接在服务器上删除旧的SSH密钥,并上传一个新的密钥。
我尝试了以下命令,但没有成功:
$> ssh-add -D
有没有办法完全删除SSH密钥?
我目前有一个旧的SSH密钥上传到服务器。问题是我丢失了~/。SSH目录(包含原来的id_rsa和id_rsa. zip)。酒吧文件)。
因此,我想直接在服务器上删除旧的SSH密钥,并上传一个新的密钥。
我尝试了以下命令,但没有成功:
$> ssh-add -D
有没有办法完全删除SSH密钥?
当前回答
在Remove Identity之前,需要使用该命令启动ssh-agent
eval `ssh-agent -s`
删除所有身份
ssh-add -D
去除特定身份
ssh-add -d ~/.ssh/sshkeynamewithout.pub
对于使用此命令查找可用标识的列表
ssh-add -l
其他回答
在ubuntu中,如果你当前的ssh-agent已经加载了一些键,我发现没有办法删除它。
你必须通过eval "$(ssh-agent -k)"来终止当前的ssh-agent
然后,通过eval "$(ssh-agent -s)"启动一个新的ssh-agent
好了,现在您可以自由地添加一个首选密钥,如ssh-add ~/.ssh/id_preferred_key
检查您的系统上是否有.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再次测试
在Remove Identity之前,需要使用该命令启动ssh-agent
eval `ssh-agent -s`
删除所有身份
ssh-add -D
去除特定身份
ssh-add -d ~/.ssh/sshkeynamewithout.pub
对于使用此命令查找可用标识的列表
ssh-add -l
我可以确认这个错误仍然存在于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指出了错误和解决方案。
我的解决方案(openSUSE Leap 42.3, KDE)是重命名文件夹~/。Gnupg显然包含缓存的密钥和配置文件。
在KDE注销/登录后,ssh-add/agent再次运行,并从头创建文件夹,但旧的密钥都消失了。
其他方法都没有成功。