Ssh

無法建立與 Gitlab CE 設置的 SSH 連接

  • November 18, 2018

我的伺服器上執行了一個 Gitlab CE 設置(CentOS 7 + Apache 2.4)。目前,該站點執行良好,我可以在瀏覽器上與 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),並且密鑰在那裡。

我錯過了什麼?

通過這個資源,我能夠弄清楚如何使用正確的別名使用建立連接。

.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

引用自:https://serverfault.com/questions/940187