一般出现该种情况,因为同一个id_rsa.pub(或其他密钥对类型的公钥)已经绑定到其他账号。
有两种解决方案: * 再生成ssh密钥对 * 是找到账号解绑
我们用第二种方案,接下来讲讲如果定位到该账号
首先在gitlab的机器中,运行 gitlab-psql 进入到数据库的命令行。
拿id_rsa.pub举例,一般格式为
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDkAebJnAzADVRac5CUnY84OE/5GG72X9rAkvbt7E/ZsnPC4LXeuK+a6Qkdkx6FTGOEK06Y9GKm3J8EkZW2rqv5aIW4Cm/QTVKxvakuVilp/tjpVkKU4IMxS5Q3Koh+wVOreqkRcAjLus2/WGqLC3r06WgKpBfmpLJlBv3dtP1Ed7DA35Ns5u3vjs/dRXaaaaaaaq5wTWZbArsLWyBEvrTkLQeEs0ygYCH5TKDdaQQktjvo11NYEqqDKHQKxxxxxxxsbcExrDcKr7AY2/0pS+NRqK1WjaX/NWhVZpqV8FaEEUcdlsCyisxlqY3n4UZeg9TSrFjNxZGXOjawhQbc6+ZRV person@example查找公钥对应的user
SELECT a.name, a.username, b.fingerprint
FROM users a, keys b WHERE a.id=b.user_id AND b.key='上边的公钥';可以在面板将key和user解绑,不建议直接操作数据库。
key也会记录在 /var/opt/gitlab/.ssh/authorized_keys