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

相关推荐
小Tomkk7 分钟前
数据库 变更和版本控制管理工具 --Bytebase 安装部署(linux 安装篇)
linux·运维·数据库·ci/cd·bytebase
赌博羊8 分钟前
ImportError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32‘ not found
linux·运维·gnu
消失的旧时光-194335 分钟前
Linux 入门核心命令清单(工程版)
linux·运维·服务器
艾莉丝努力练剑43 分钟前
【Linux:文件】Ext系列文件系统(初阶)
大数据·linux·运维·服务器·c++·人工智能·算法
小天源1 小时前
Cacti在Debian/Ubuntu中安装及其使用
运维·ubuntu·debian·cacti
Trouvaille ~1 小时前
【Linux】TCP Socket编程实战(一):API详解与单连接Echo Server
linux·运维·服务器·网络·c++·tcp/ip·socket
芷栀夏1 小时前
深度解析 CANN 异构计算架构:基于 ACL API 的算子调用实战
运维·人工智能·开源·cann
全栈工程师修炼指南1 小时前
Nginx | stream 四层反向代理:SSL、PREREAD 阶段模块指令浅析与实践
运维·网络·网络协议·nginx·ssl
威迪斯特2 小时前
CentOS图形化操作界面:理论解析与实践指南
linux·运维·centos·组件·图形化·桌面·xserver
一方热衷.3 小时前
在线安装对应版本NVIDIA驱动
linux·运维·服务器