无法与 Gitlab CE 设置建立 SSH 连接

无法与 Gitlab CE 设置建立 SSH 连接

我的服务器 (CentOS 7 + Apache 2.4) 上运行着 Gitlab CE 设置。目前,网站运行良好,我可以在浏览器上与 Gitlab 进行完全交互,但是,我无法通过 SSH 在我的 shell 上正确设置环境,以便将我的存储库推送到我的服务器。

目前,当我尝试推送时,出现以下错误:

git@[MY_GITLAB_SUBDOMAIN]: Permission denied (publickey).
fatal: Could not read from remote repository.

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

由于我通常为我的 SSH 设置一个自定义端口,因此在我的本地机器上,我对我的 SSH 配置文件进行了如下添加:

Host gitlab
Hostname [MY_GITLAB_SUBDOMAIN]
Port [MY_CUSTOM_PORT]
User git
PreferredAuthentications publickey
IdentityFile [MY_PUBLIC_KEY]

因此,在我尝试推送的当前本地存储库上,我如下编辑了 git 配置文件:

[core]
  repositoryformatversion = 0
  filemode = true
  bare = false
  logallrefupdates = true
  ignorecase = true
  precomposeunicode = true
[branch "master"]
  remote = origin
  merge = refs/heads/master
[remote "origin"]
  url = gitlab:can/[PROJECT]
  fetch = +refs/heads/*:refs/remotes/origin/*

我已将我的公钥添加到 Gitlab 偏好设置中的帐户中。我还手动检查了authorized_keys服务器上的用户文件git及其权限,以查看它是否正常工作。权限良好(.ssh文件夹:700 和authorized_keys:600),并且密钥在那里。

我错过了什么?

答案1

通过此资源之后,我就能弄清楚如何使用正确的别名来建立连接。

.SSH/config

Host [HOST_NAME]
  HostName [GITLAB_URL]
  User git
  Port [CUSTOM_PORT_NUMBER]
  IdentityFile ~/.ssh/[KEY_NAME]

进而:

git remote set-url origin git@[HOST_NAME]:[GITLAB_USER]/[PROJECT_NAME].git

相关内容