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的配置文件,本文仅针对这种情况,以此记录,仅供参考。

相关推荐
会又不会几秒前
Jenkins-Email Extension 插件插件
运维·jenkins
电脑能手42 分钟前
[保姆级教程] 解决不同局域网电脑无法SSH的问题
运维·ssh·电脑
czhc11400756631 小时前
Linux 76 rsync
linux·运维·python
你不知道我是谁?2 小时前
负载均衡--四层、七层负载均衡的区别
运维·服务器·负载均衡
dyj0953 小时前
【Rancher Server + Kubernets】- Nginx-ingress日志持久化至宿主机
运维·nginx·rancher
码出钞能力4 小时前
linux内核模块的查看
linux·运维·服务器
星辰云-4 小时前
# Linux Centos系统硬盘分区扩容
linux·运维·centos·磁盘扩容
Hellc0075 小时前
Nginx 高级 CC 与 DDoS 防御策略指南
运维·nginx·ddos
feilieren5 小时前
Docker 安装 Elasticsearch 9
运维·elasticsearch·docker·es
小皮侠6 小时前
nginx的使用
java·运维·服务器·前端·git·nginx·github