Gitlab添加SSH后任需要输入密码问题

本文主要记录一下在Gitlab上设置过ssh秘钥后,任然无法进行ssh访问的问题。

配置步骤

要在GitLab中添加SSH登录,你需要按照以下步骤操作:

  1. 生成SSH密钥对

在你的本地机器上生成一个SSH密钥对。如果你已经有一个密钥对,你可以跳过这一步。在终端中运行以下命令:

bash 复制代码
   ssh-keygen -t ed25519 -C "your_email@example.com"

这将生成一个新的ed25519 SSH密钥对。你可以替换"your_email@example.com"为你的电子邮件地址。

  1. 复制公钥

打开你的公钥文件并复制内容。默认情况下,公钥文件位于~/.ssh/id_ed25519.pub。你可以使用以下命令来复制公钥:

bash 复制代码
   cat ~/.ssh/id_ed25519.pub | pbcopy

这将把你的公钥复制到剪贴板。

  1. 在GitLab中添加公钥

登录到你的GitLab账户,点击右上角的用户头像,然后选择"Settings"。在左侧菜单中选择"SSH Keys"。

在"Key"字段中粘贴你的公钥,然后点击"Add key"按钮。

现在理论上你应该可以使用SSH密钥对在你的本地机器和GitLab之间进行安全的通信了,可以执行以下命令进行验证。

bash 复制代码
ssh -T git@github.com ##这里Git地址请自行替换成对应的Git地址,gitlab github等

问题

问题描述

实际上,执行上面配置以后,在测试ssh链接性时发现,任需要输入密码,而且此时即便输入正确的密码,一直提示密码错误

解决方法

查看ssh配置文件,mac中文件地址为~/.ssh/config,发现该文件中指定的私钥不是刚才生成的秘钥对中的私钥。(之前配置过ssh,后面不知道怎么ssh不生效了,这里的秘钥是之前生成的)

bash 复制代码
Host github.com
    HostName github.com
    User git ##对应的用户名
    IdentityFile /root/.ssh/xxx ##git上ssh配置的公钥对应的私钥文件
    IdentitiesOnly yes

将其中IdentityFile改成刚生成的私钥 ,然后再执行ssh -T命令,此时可以成功访问了。

总结

如果配置了ssh后,任然需要输入密码,而且怎么输入密码都不对的时候,可以检查下ssh的配置文件,本文仅针对这种情况,以此记录,仅供参考。

相关推荐
东方隐侠安全团队-千里19 分钟前
Docker青龙面板挖矿入侵事件应急复盘
运维·docker·容器
猫头虎43 分钟前
Docker 安装 OpenClaw 报错排查完全手册(续):如何解决pairing required,`EACCES: permission denied`Docker 拉取镜像提示 `denied
运维·docker·容器·开源·github·aigc·ai编程
susu10830189111 小时前
ubuntu重做系统后无法apt update
linux·运维·ubuntu
努力搬砖的鱼1 小时前
校园网运维-生成树协议实战
运维·网络
芒果披萨2 小时前
Linux文件类基础命令行1
linux·运维·服务器
杨云龙UP3 小时前
ODA服务器RAC节点2/u01分区在线扩容操作记录及后续处理流程(Linux LVM + ext4 文件系统在线扩容操作手册)_20260307
linux·运维·服务器·数据库·ubuntu·centos
欲买桂花同载酒58210 小时前
程序人生-Hello’s P2P
运维·服务器·数据库
NineData11 小时前
AI时代的数据对比:DBA还需要盯着屏幕看差异吗?
运维·数据库
jyfool11 小时前
Ubuntu 远程桌面配置踩坑实录:从 TightVNC 到 x11vnc 的折腾之旅
linux·运维·ubuntu
网硕互联的小客服11 小时前
服务器防火墙是如何区分正常流量和攻击流量?
运维·服务器·网络