Ssh
無法建立與 Gitlab CE 設置的 SSH 連接
我的伺服器上執行了一個 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