解决GitLab中使用SSH的git clone总是提示输入密码且任何密码都不对

这篇具有很好参考价值的文章主要介绍了解决GitLab中使用SSH的git clone总是提示输入密码且任何密码都不对。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  笔者最近在新 Linux 中安装 GitLab 后,发现一个诡异的事情。当配置完管理员账号、SSH 密钥之后、开启防火墙端口号、在 GitLab 新建仓库 test 等等之后,笔者尝试在远程客户端 Windows 上使用 git clone 来 clone 这个在 GitLab 上的仓库,使用的是 SSH 协议。但无论 clone 的 URL 是否正确,终端提示输入密码,且输入任何密码都不对。完整提示信息内容如下:

笔者报错时的运行环境:

  • GitLab:gitlab-ee-14.3.6-ee.0.el8.x86_64

  • GitLab 上的 Linux:CentOS Stream 8 x86_64

  • 远程客户端 Windows:Windows 10 教育版文章来源地址https://www.toymoban.com/news/detail-440103.html

$ git clone git@xxx.xxx.xxx.xxx:XXX/test.git
Cloning into 'test'...
/c/Users/xxx/.ssh/config line 2: Unsupported option "rsaauthentication"
git@xxx.xxx.xxx.xxx's password:
Permission denied, please try again.
git@xxx.xxx.xxx.xxx's password:
34xxxPermission denied, please try again.
git@xxx.xxx.xxx.xxx's password:
git@xxx.xxx.xxx.xxx: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists.

  但奇怪的是,如果使用 HTTP 协议进行 clone、push 却没有任何问题。笔者在反复地卸载、重装 GitLab,试了各种方法才发现,这个密码其实是 GitLab 所在的 Linux 上的一个账户名为 git 的账户密码。这个账户是怎么来的呢?实际上,在第一次使用命令 gitlab-ctl reconfigure 初始化 GitLab 配置时,GitLab 会自动为 Linux 创建五个账户,分别是:

  • git

  • gitlab-redis

  • gitlab-psql

  • gitlab-prometheus

  • gitlab-www

  因为这些账户在被创建时,GitLab 并没有提示我们输入密码,所以我们并不知道密码,或者它们本来就没有密码。不过,我们在知道账户名的时候就可以强制改密码了。可以使用如下命令来更改账户 git 的密码:

passwd git


  在设置完账户 git 的密码后,笔者已经一切就已经结束了,结果后面还有一个大坑等着。在提示密码后,输入设置的账户 git 的密码后,虽然没有提示密码错误,但 clone 时却报了如下的错误:

git clone does not appear to be a git repository fatal: Could not read from remote repository.

  笔者反复检查过,clone 时使用的 SSH 的 URL 是从 GitLab 项目中复制下来的,URL 没有问题。在反复安装不同的 Linux 与相应的 GitLab 后,这才发现原因。笔者前面安装 GitLab 使用的 Linux 操作系统是 CentOS Stream 8,但截止至笔者编写本博客时,GitLab 并未对 CentOS Stream 提供 GitLab 安装包,于是笔者想当然地以 CentOS 8 安装包来代替,所以在安装后的 GitLab 的 SSH 环境不正确,以至于引发了各种问题。

  当笔者使用 CentOS 8 安装 GitLab 后,在没有主动设置账户 git 的密码时,使用 SSH 协议进行 clone、push 时,不仅连输入密码这个过程都免了,也没有产生任何报错。

成功运行时的环境:

  • GitLab:gitlab-ee-14.3.6-ee.0.el8.x86_64

  • GitLab 上的 Linux:CentOS 8 x86_64

  • 远程客户端 Windows:Windows 10 教育版

到了这里,关于解决GitLab中使用SSH的git clone总是提示输入密码且任何密码都不对的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Git技巧】第十篇 解决每次git clone都需要输入账号密码

    目录 1、遇到问题 2、问题解决 每次 git clone 时都需要输入账号、密码。 配置全局开机认证信息保存: 可以永久保存。除非用命令解除。 然后在输入账号密码之后,后面每次克隆不需要输入。 谨记:密码是gitHub或gitlab上的访问令牌。

    2024年02月11日
    浏览(31)
  • Outlook:总是提示输入用户密码

    目录 1、故障描述 2、故障排除 1)确定用户账户名称正确 2)确定电子邮箱密码 3)确定本机缓存的 Windows 凭据 4)在 Outlook 中,确定用户凭据选项 5)Outlook 连接方式 6)确定 Office Trust Center 设置 7)取消 Office 365 Autodiscover 检查

    2024年02月06日
    浏览(33)
  • 配置 ssh key 后 git 拉取代码一直提示输入用户名、密码问题

    中间过程比较碎碎念,涉及到一些错误的方案以及和 gpt 对线 可以直接跳到结论部分 我有一个项目,仓库里已经配置了 ssh 公钥,但是每次 pull 或者 push 代码依旧提示输入用户名、密码 这种情况下第一个想到的就是是不是要全局配置一下用户名、密码,网上找到的方案是 试

    2024年02月12日
    浏览(50)
  • xshell连接服务器输入密码提示“ssh服务器拒绝了密码,请再试一次”的解决办法

    最近新买了一台服务器,在用xshell连接时,提示“ssh服务器拒绝了密码,请再试一次”如下图所示,一直找不到问题的原因,很苦恼,最后发现最主要的问题是客户端防火墙未关闭。 解决步骤分为两种: 修改配置文件或关闭客户端防火墙都可以解决此问题。 1、修改配置文件

    2024年04月13日
    浏览(38)
  • Linux服务器配置SSH免密码登录后,登录仍提示输入密码(一次真实的问题排查解决记录)

    我们知道两台Linux服务器机器之间如果使用ssh命令登录或scp/rsync命令传输文件每一次都需要输入用户名相对应的密码,如果要免密码,则需要对两台Linux服务器机器之间进行SSH互信。 虽然这是废话,也希望大家了解一下。 SSH(Secure Shell)是一种安全的传输协议,它可以让Lin

    2024年02月09日
    浏览(48)
  • mac使用VsCode远程连接服务器总是自动断开并要求输入密码的解决办法

    在mac中使用vscode远程连接服务器,时常会出现自动断开并要求重新输入服务器密码的问题,接下来让我们来解决它: 1、首先,在本地创建公钥: 这条命令执行之后,出现提示直接回车即可;直到遇到Overwrite (y/n)?  输入y,之后继续回车,如下图:  2、将本地mac密匙的 id_rs

    2024年02月10日
    浏览(48)
  • git clone 命令出现提示 You must use a personal access token or SSH key解决方式

    通常我们要从一个新的github 仓库中去clone 代码时。是需要我们把自己的本地的git 的公有秘钥配置在 github 仓库中,才能正常克隆代码。 为什么需要ssh key 秘钥? 使用 SSH 协议可以连接远程服务器和服务并向它们验证。 利用 SSH 密钥可以连接 GitHub,而无需在每次访问时提供用

    2024年02月09日
    浏览(42)
  • 解决小乌龟(TortoiseGit)总是要求输入密码

    当你在用TortoiseGit拉取或者提交代码的时候,可能遇到过git小乌龟总是要让你输入密码,无法拉取、提交代码,见下图。怎么解决这个问题? 1.复制私钥文件id_rsa,将复制的文件的文件名改为id_rsa.ppk。 2.打开TortoiseGit的安装目录,找到puttygen.exe,双击运行。 3.点击Load,加载刚

    2024年02月12日
    浏览(33)
  • 解决每次eclipse拉取代码,提示登录,默认user为git,需要输入密码

    目录 1、如下图所示,每次拉取代码提示登录,用户名默认为git,不能修改,只能输入密码。 2、打开eclipse,选择Windows -Preferences,搜索框输入\\\"SSH\\\",并按照下图操作,点击生成rsa key,然后保存。 3、添加刚刚生成的秘钥,私钥文件到 eclipse。 4、复制刚刚生成的rd_rsa.pub文件里

    2024年02月02日
    浏览(41)
  • 【Mac系统下配置gitlab的SSH Key密钥时git clone无法拉取】

    第一次使用mac系统的电脑配置SSH密钥,公司的项目都放在gitlab上托管,所以想从gitlab上clone下来项目的话就要配置SSH Key,然后才能使用Clone with SSH拉取文件。 结果输入 git clone git@gitlab.xxx 之后 出现了以下提示: 此时一定要输入 yes 才能顺利clone,千万记得!!!,不要默认为

    2024年02月12日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包