На моем сервере запущена установка Gitlab CE (CentOS 7 + Apache 2.4 ). В настоящее время сайт работает нормально, и я могу полностью взаимодействовать с Gitlab в браузере, однако я не могу правильно настроить свою среду в моей оболочке через SSH, чтобы отправлять свои репозитории на мой сервер.
В настоящее время, когда я пытаюсь чтобы нажать, я получаю следующую ошибку:
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