最近在做一个项目,需要登录服务器g1-jg-hadoop-08上将一个gitlab项目克隆到本地。
发现之前这台服务器的ssh生成的公钥没有解绑,导致拿这个.ssh目录下id_rsa.pub文件的公钥去配成自己账户ssh key,发现key已经被使用了。而这个员工已经离职了。只能找运维去登录这个员工的账户,删除掉这个ssh key。添加ssh key是报错信息如下:
Key has already been taken
Fingerprint has already been taken
解决办法:
运维去删除这个公钥,但是发现这个key绑定哪个员工账号上,gitlab管理界面很麻烦根据公钥查找到对应的gitlab账号。只能去gitlab的数据库PostgreSQL查看。根据sshkey配置的账户g1-jg-hadoop-08去keys表模糊查询,找到userId,然后根据userId去users表查询用户的用户名(邮箱),然后在gitlab用这个用户去登录,在ssh key管理界面上删除这个公钥。
怎么去PostgreSQL查数据,请参考以下文章。
参考:
https://blog.youkuaiyun.com/xinxin19881112/article/details/77968138?utm_source=blogxgwz2
https://blog.youkuaiyun.com/sinat_41928169/article/details/82718319
https://www.cnblogs.com/UniqueColor/p/7767012.html
https://blog.youkuaiyun.com/Aggressive_snail/article/details/88422132
后续出现的key更新产生的unknown hosts问题,请参考这篇文章解决
https://blog.youkuaiyun.com/qq_21922755/article/details/103238879