Gitlab에서 권한 거부 (공개 키) 받기


134

내 문제는 GitLab에서 푸시하거나 가져올 수 없다는 것입니다. 그러나 복제 할 수 있습니다 (HTTP 또는 SSH를 통해). 푸시하려고 할 때이 오류가 발생합니다.

권한 거부 (공개 키) 치명적 : 원격 저장소에서 읽을 수 없습니다.

내가 본 모든 스레드에서 내가 한 일은 다음과 같습니다.

  • 내 컴퓨터에 SSH 키를 설정하고 GitLab에 공개 키를 추가했습니다.
  • 사용자 이름 및 이메일에 대한 config --global을 완료했습니다.
  • 문제가 해결되는지 확인하기 위해 SSH 및 HTTP를 통해 복제 됨
  • ssh -T git@gitlab.com 명령을 완료하십시오.

내 문제를 해결하는 방법에 대한 통찰력이 있으시면 대단히 감사하겠습니다.


5
ssh -vvvv git@gitlab.comSSH 키를
받는지

1
gitlab.com/profile/keys 를 통해 SSH 키를 추가 했습니까 ?
Akram 운임

@ Nils Werner :이 명령을 수행 할 때 많은 줄이 표시되지만 그중 하나는 "인증 성공 (공개 키)"입니다.
Alexandre Fernandes Bartolomeu

4
당신이 실행하지 않는 확인하십시오 sudo git clone git@gitlab.com:project/somethiing.git, 그렇지 않은 경우는 ssh에서 보이는 것 /root/.ssh대신에 업로드 한 키의~/.ssh/id_rsa
rivanov

1
"ssh-add ~ / .ssh / the_key"를 통해 에이전트에 키를 추가 한 다음 구문별로 키를 인증하여 동일한 문제를 해결했습니다. 이것은 내가 GitLab에 추가 한 것의 비공개 부분입니다.
Celdor

답변:


259

많이 검색해서 찾았습니다. 그것은 나를 위해 완벽하게 잘 작동합니다.

  1. cmd처럼 "Git Bash"로 이동합니다. 마우스 오른쪽 버튼을 클릭하고 "관리자 권한으로 실행"을 클릭합니다.
  2. 유형 ssh-keygen
  3. 엔터 키를 치시오.
  4. 특정 디렉토리에 키를 저장하라는 메시지가 표시됩니다.
  5. 엔터 키를 치시오. 암호를 입력하거나 암호없이 입력하라는 메시지가 표시됩니다.
  6. 공개 키는 특정 디렉토리에 생성됩니다.
  7. 이제 디렉토리로 이동하여 .ssh 폴더를 .
  8. 파일이 표시됩니다 id_rsa.pub. 메모장에서 엽니 다. 모든 텍스트를 복사하십시오.
  9. https://gitlab.com/profile/keys로 이동합니다 .
  10. 여기에 "키"텍스트 필드를 붙여 넣으십시오.
  11. 이제 아래의 "제목"을 클릭하십시오. 자동으로 채워집니다.
  12. 그런 다음 "키 추가"를 클릭합니다.

이제 한번 시도하면 확실히 작동합니다.


2
pub 파일을 클립 보드에 복사하는 데 실패한 경우. 다음을 시도하십시오 :type %userprofile%\.ssh\id_rsa.pub | clip
jquijano

5
Windows 10에서 .ssh \ id_rsa.pub를 찾아야하는 경우 git bash 에서이 cat ~ / .ssh / id_rsa.pub 를 입력하면 "Key"가 표시되므로 복사하여 텍스트 필드에 붙여 넣을 수 있습니다. in gitlab.com/profile/keys
Chutipong Roobklom

11
이 작업을 수행해야합니다 : ssh-add filename(와 경로는 RSA의 디렉토리에없는 경우) 위의 단계를 수행 한 후에도
Blasanka

3
내가 이런 짓을, 문제가 해결되지 않은, 점점 권한은 거부
Billal Begueradj에게

. 매력처럼 일했습니다. 감사!
RafiAlhamd

62

1 단계 : ~/.ssh/config파일에 다음과 같은 구성 파일 추가

   User git
   Hostname gitlab.com
   IdentityFile ~/.ssh/id_rsa_gitlab
   TCPKeepAlive yes
   IdentitiesOnly yes

2 단계 : sudo없이 git repo를 복제하십시오.
문서 : https://gitlab.com/help/ssh/README#working-with-non-default-ssh-key-pair-paths


1
기본 이름의 키 파일이 이미 다른 용도로 사용되는 경우 필요합니다. id_rsa_gitlabFedo의 예 와 같이 기본 이름이 아닌 키 파일을 생성하는 경우 구성 파일을 제공해야합니다. 이 문제에 대한 Gitlab의 좋은 기사 : gitlab.com/help/ssh/...
박주영

이것은 나를 위해 일했습니다. 이 솔루션을 위해 Github 및 Gitlab 키가 모두 있습니다.
M.Cush

나는 변경해야 Hostname하는 Host이 작업 할
Sadee

27

간단한 해결책은 인증 에이전트에 개인 키를 추가하는 것입니다 (키가 아닌 경우 ~/.ssh/id_rsa).

ssh-add ~/.ssh/<your private key>

당신은 기본적으로 ssh-agent그것을 처리합니다.

또한 영구적으로 추가 할 수 있습니다 .


확장자가 .pub 인 파일입니다.
Felipe

7
아니요. 개인 키는 .pub확장자가 없는 파일 입니다.
Hussain

15

제 경우에는 WSL (Linux 용 Windows 하위 시스템)에서 작동하지 않았습니다.

WSL을 시작할 때

  • ssh-agent_ 시작 eval $(ssh-agent -s)
  • ssh-agent에 키를 추가합니다. ssh-add ~/.ssh/id_rsa
  • 메시지가 나타나면 암호를 입력하십시오

이제 연결이 작동합니다.
우리는 이것을 테스트 할 수 있습니다.ssh -T git@github.com

노트:


11

실행 중이 아닌지 확인하십시오 sudo git clone git@gitlab.com:project/somethiing.git. 그렇지 않으면 /root/.ssh업로드 한 키 대신 ssh가 검색됩니다.~/.ssh/id_rsa


10

이에 대한 매우 간단한 해결책이 있습니다. ssh로 작업하는 대신 https로 이동하십시오. 이렇게하려면 : 프로젝트 폴더에 .git 폴더가 있습니다. 구성 파일이 있습니다. 텍스트 편집기에서 열고 행을 변경합니다.

url =git@gitlab.com : yourname / yourproject.git

URL = https://gitlab.com/yourname/yourproject.git


감사합니다. 나를 위해 일했습니다.
ktv6

7

Linux 또는 macox를 사용하는 경우 터미널에서 다음을 시도하십시오.

ssh-add -l

아무것도 반환하지 않으면 다음을 시도하십시오.

ssh-add

~ / .ssh / id_rsa에 ID를 만들어야합니다.

재시도 후 :

ssh-add -l

신원을 반환해야하므로 복제를 다시 시도한 후 작동해야합니다.

주의 : 프로필 gitlab에 ssh 키를 추가하는 것을 잊지 마십시오.

감사


5

제 경우에는 gitlab 문제가 아니라 sshd 구성 문제였습니다. ssh 서버는 사용자 목록을 제외하고 연결을 허용하지 않았습니다. gitlab에 원격으로 연결하는 사용자 git은 해당 목록에 없었습니다. 그래서 다른 것보다 먼저 이것을 확인하십시오.

에서 ssh 서버 구성을 확인할 수 있습니다 /etc/ssh/sshd_config. 옵션이있는 줄이 있으면 AllowUsersgit을 추가하십시오.

AllowUsers user1 user2 user3 git

3

나는 도커로 gitlab을 실행하고 있는데, 이것이 내 문제를 해결하기 위해 한 일입니다.

docker / var / log / gitlab / sshd / current 내부 에 메시지가 여러 번 발생 했음을 발견했습니다 .

인증 거부 : /var/opt/gitlab/.ssh/authorized_keys 파일에 대한 잘못된 소유권 또는 모드

그 후 해당 파일의 소유권을 99 : users 에서 git : users 로 변경했습니다.

chown git : users authorized_keys


1
정말 고맙습니다. Kubernetes에서 Gitlab을 실행 중이며 / gitlab-data 디렉터리 (authorized_keys의 마운트 지점이기도 함)에 권한 문제가 있습니다. 간단한 초운으로 충분했습니다.
Dillen Meijboom

3

수행해야 할 단계에 동일한 오류가 발생했지만 수정했습니다. Gitlab은 ssh-rsa를 원하므로 아래는 rsa에 대해 ssh를 실행하는 코드입니다.

  1. ssh-keygen -o -t rsa -b 4096 -C "name@gmail.com"

name@gmail.com은 gitlab 계정 이메일입니다.

  1. 입력하라는 메시지가 표시되므로 아래 코드가 프롬프트되면 Enter 키를 누르십시오.

    키를 저장할 파일 입력 (/home/yourDesktopName/.ssh/id_rsa) :

  2. 다시 입력하라는 메시지가 표시되므로 아래 코드가 프롬프트되면 Enter 키를 누르십시오.

    암호 입력 (암호가 없으면 비어 있음) :

  3. 마지막으로 입력하라는 메시지가 다시 표시되므로 아래 코드가 프롬프트되면 Enter 키를 누르십시오.

    동일한 암호를 다시 입력하십시오.

  4. ssh-rsa 생성을 보여줍니다.

  5. Gitlab 계정에 로그인하고 오른쪽 탐색 메뉴로 이동하면 설정이 표시되고 왼쪽 사이드 바에는 ssh 키가 표시됩니다. 입력하십시오.

  6. 입력을 요청하는 프롬프트 위를 보면 ssh-rsa의 경로가 표시됩니다.

  7. SSH 폴더로 이동하여 id_rsa.pub를 가져옵니다.

  8. 그것을 열고 키를 가져오고 Gitlab에 붙여 넣기를 복사하면 거의 완료됩니다.

  9. 확인 : ssh -T git@gitlab.com

  10. 다음을 얻을 수 있습니다. Welcome to GitLab, @joy4!

  11. 끝난.


감사. 이것은 Windows 10에서 작동합니다. gitlab이 지시 한대로 ed25519를 시도했지만 작동하지 않았습니다.
디카

이 답변은 꽤 좋습니다-왜 더 높은 투표를하지 않았는지 확실하지 않습니다.
mgibson

3

이전에는 매우 어려웠지만 시도했을 때 Mac과 Linux에서 ssh 키를 추가하는 것이 너무 쉬워졌습니다. 다음과 같이이를 수행하는 몇 가지 단계와 명령이 있습니다.

  1. 시스템의 터미널을 열고 다음 명령으로 프로젝트 디렉토리 내부로 이동하십시오.
cd 'project directory name'
  1. ssh-keygen해당 터미널에서 명령 을 실행 하고 키의 randomart 이미지가 나타날 때까지 입력하십시오.

  2. 그런 다음 해당 터미널에 명령을 하나 더 입력하십시오.

cat ~/.ssh/id_rsa.pub

ssh 키를 생성합니다. 키는로 시작 ssh-rsa하고로 끝납니다 .local.

  1. 키를 복사하고 Gitlab 프로필 섹션으로 이동 한 다음 ssh key섹션으로 이동하여 여기에 붙여 넣습니다. 버튼을 클릭 Add하면 작동합니다.

이것은 나를 위해 일했습니다! 감사합니다
Shamseer Ahammed

2

같은 문제가 발생하여 새 ssh 키를 추가하여 해결했습니다.

  1. ssh-keygen -t ed25519 -C "email@example.com"
  2. 공개 SSH 키를 클립 보드 (xclip -sel clip < ~/.ssh/id_ed25519.pub 제 경우에는 Linux).
  3. gitlab에서 settings=>ssh키로 이동 하여 새 키를지나갑니다.

2

여러 git 계정이 있고 다른 ssh 키를 원할 때

ssh 키를 생성하려면 동일한 단계를 따라야하지만

ssh-keygen -t ed25519 -C "your-email-id@gmail.com" 

저장할 경로를 입력하세요 (예 : my-pc / Desktop / .ssh / ed25519).

gitlab에 공개 키 추가 (ssh 키를 gitlab에 추가하는 방법 )

아래 명령을 사용하여 새 ssh ID가 필요합니다.

ssh-add ~/my-pc/Desktop/.ssh/ed25519

2

주로 두 가지

  1. .ssh 폴더에 id_rsa.pub 및 id_rsa (개인용) 키가 있어야합니다 (홈 폴더에 있어야합니다. 거기에 없으면 키를 넣으십시오). 키 파일의 이름을 다르게 지정하면 작동하지 않습니다.

  2. id_rsa의 권한을 chmod 400 ~ / .ssh / id_rsa로 변경하십시오.


2

이 동작을 유발할 수있는 또 다른 문제는 2 개의 가능한 % HOME % -locations가있는 설정이있는 경우입니다.

일부 문서는 로컬에 저장되고 일부는 네트워크 드라이브에 저장되는 PC를 사용하고 있습니다. 일부 응용 프로그램은 생각 C:\Users\<MyUserName>\내이며 %home%다른 사람들이 그 생각, U:\고향입니다.

턴 아웃 ssh-keygen에서 내 개인 키를 넣어 C:\users\<MyUserName>\, 그 ssh -Tssh -v도이 보인다.

모든 것이 잘 작동 것 같다 그래서, 그것을 제외시켰다 git clone, git push다른 사람들은 키를 찾아U:\ . 실패하므로 앞서 언급 한 오류가 발생합니다.

그것은 알아 나에게 시간이 걸렸지 만 결국 해결책은 간단했다 : 나는 모든 것을 복사 C:\Users\<MyUserName>\.sshU:\.ssh


1

이렇게 풀었 어 ..

다음 명령을 사용하여 Windows 용 키를 생성했습니다.

ssh-keygen -t rsa -C "your.email@example.com" -b 4096

하지만 문제는이 명령을 실행 한 후 "Enter file in which to save the key (/c/Users/xxx/.ssh/id_rsa) :"여기에 파일 이름 만 제공했습니다. 내 키는 주어진 위치가 아닌 내 암호에 저장되었습니다. "git clone"을 수행했을 때 키가 "/c/Users/xxx/.ssh/id_rsa"위치에 있다고 가정했지만 찾을 수 없으므로 오류가 발생했습니다.

키 생성시 "file1"& "file1.pub"파일이 생성되었습니다. 이 두 파일의 이름을 다음과 같이 변경했습니다.

file1 -> id_rsa 

file1.pub -> id_rsa.pub

둘 다 위치에 배치 "/c/Users/xxx/.ssh/"


1

터미널로 이동하여 ssh 키를 다시 생성하십시오. 유형 ssh-keygen . 저장할 위치를 묻고 경로를 입력합니다.

그런 다음 공개 키를 gitlabs 플랫폼에 복사합니다. 일반적으로 ssh-rsa로 시작합니다.


1

나에게 문제 는 SSH 구성 파일 UsePAM에서 yes로 전환했다는 것 입니다. 로 모든 것을 완벽하게 작동합니다.no/etc/ssh/sshd_configUsePAM yes


1

gitlab help 에서 해결책을 찾았습니다 .

To create a new SSH key pair: 
 1. Open a terminal on Linux or macOS, or Git Bash / WSL on Windows.
 2. Generate a new ED25519 SSH key pair: ssh-keygen -t ed25519 -C "email@example.com"
 2.1 Or, if you want to use RSA: ssh-keygen -o -t rsa -b 4096 -C "email@example.com"
 3. Next, you will be prompted to input a file path to save your SSH key pair to... use the suggested path by pressing Enter
 4. Once the path is decided, you will be prompted to input a password to secure your new SSH key pair. It's a best practice to use a password, but it's not required and you can skip creating it by pressing Enter twice.
 5. Copy your public SSH key to the clipboard by using one of the commands below depending on your Operating System:
        macOS:        pbcopy < ~/.ssh/id_ed25519.pub
        WSL / GNU/Linux (requires the xclip package):      xclip -sel clip < ~/.ssh/id_ed25519.pub
        Git Bash on Windows:      cat ~/.ssh/id_ed25519.pub | clip
 6. Navigating to SSH Keys and pasting your public key in the Key field
 7. Click the Add key button

여러분 중 일부를 도울 수 있기를 바랍니다!


1

우분투에서 gitlab 계정에 SSH 키를 추가하는 방법은 무엇입니까?

  1. 프로젝트 디렉토리에서 터미널을 엽니 다.
  2. 'ssh-keygen -o -t rsa -b 4096 -C "your gitlab email"'을 입력하고 Enter 키를 누릅니다.
  3. 'vim /home/mnbtech/.ssh/id_rsa.pub'를 입력하고 Enter 키를 누르거나 저장 한 위치에서 'id_rsa.pub'를 수동으로 엽니 다.
  4. SSH 키가 나타납니다. 그것들을 복사하고

  5. gitlab 계정으로 이동합니다.

  6. 프로필 이미지 클릭 후 설정 클릭
  7. 왼쪽에서 SSH-Keys를 선택하십시오.
  8. 그런 다음 해당 키를 붙여 넣으십시오.

SSH-Key가 추가됩니다!

(미리보기 SSH 키 생성 및 권한 얻기가 거부 된 경우 (공개 키)주의 : 미리보기 ssh 키를 삭제하고 새 키를 생성하고 터미널에 git user.name 및 이메일을 추가합니다)


이 답변에서 이전 지침과 다른 점은 무엇입니까?
RalfFriedl

1

git@gitlab.com: Permission denied (publickey)다음 지침을 사용하여 문제를 해결 했습니다.

  1. 운영 cat ~/.ssh/id_rsa.pub
  2. id_rsa.pub(공개 키)를 getlab`설정-> SSH 키에 복사 합니다.
  3. 운영 cat ~/.ssh/id_rsa
  4. id_rsa(개인 키)를`Code_repo-> git_auth-> id_rsa에 복사합니다.

참고 :root DockerFile 또는 다른 곳에서 사용자를 사용하는 경우 컴퓨터 사용자를 관리 한 다음 sudo su위의 명령을 실행하기 전에 사용 하여 루트 사용자 공개 및 개인 키를 가져 오십시오.


1

우리의 경우에는 사용자 / 클라이언트 측이 아니라 Gitlab 서버 측에서 문제가되었습니다.

CentOS 7.1에서 로컬 Gitlab CE 12.9 인스턴스를 실행하고 있습니다.

서버에서 .ssh / authorized_keys 파일이 제대로 업데이트되지 않는 것을 발견했습니다 . 사용자는 Gitlab 가이드에 따라 SSH 키를 만들고 Gitlab 서버에 추가하지만 서버가 authorized_keys를 업데이트하지 않으므로 항상 권한 거부 오류가 발생합니다.

해결 방법은 다음을 실행 하여 authorized_keys 파일다시 빌드 하는 것입니다.

$ sudo gitlab-rake gitlab:shell:setup

그것은 레이크 작업을 실행 하기 전에 키를 추가 한 모든 사람에게 효과적입니다 . 키를 추가 할 다음 사용자의 경우 누군가 수동으로 레이크 작업을 다시 실행해야합니다.

좀 더 영구적 인 해결책을했다 하지 사용 의 authorized_keys 파일을하고 대신 사용 Gitlab 데이터베이스에서 인덱스 조회 :

GitLab Shell은 GitLab 데이터베이스에 대한 빠른 색인 조회를 통해 SSH 사용자를 인증하는 방법을 제공합니다. GitLab Shell은 SSH 키의 지문을 사용하여 사용자가 GitLab에 액세스 할 수있는 권한이 있는지 확인합니다.

sshd_config파일에 다음을 추가 하십시오. 일반적으로에 위치 /etc/ssh/sshd_config하지만 /assets/sshd_configOmnibus Docker를 사용하는 경우 다음 위치에 있습니다 .

Match User git    # Apply the AuthorizedKeysCommands to the git user only   
  AuthorizedKeysCommand /opt/gitlab/embedded/service/gitlab-shell/bin/gitlab-shell-authorized-keys-check git %u %k   
  AuthorizedKeysCommandUser git 
Match all    # End match, settings apply to all users again 

OpenSSH를 다시로드합니다.

# Debian or Ubuntu installations   
sudo service ssh reload

# CentOS installations   
sudo service sshd reload 

UI에서 사용자의 SSH 키를 제거하고 새 키를 추가 한 다음 저장소를 가져 와서 SSH가 작동하는지 확인합니다.

기본적으로 (설치시 기본값) Author Area> Performance Optimization 설정 에서 Write to authorized_keys 파일 을 선택했습니다 . 그래서 우리는 그것을 선택 취소하고 대신 Gitlab 데이터베이스를 사용했습니다.

여기에 이미지 설명 입력

인덱싱 된 조회를 설정하고 Authorized_keys 파일에 쓰기를 선택 취소 한 후 SSH 액세스가 확인되었습니다.


1

Windows 10을 사용하는 모든 사용자 또 그를 위해 노력하고 아무것도 / 그녀의 :

제 경우 에는 ssh 대신 https로 리포지토리를 복제해야 하고 자격 증명을 요청하는 창이 팝업되었습니다. 그 후 모든 것이 잘 작동합니다.


1

나는 이것을 매우 늦게 대답하고 있고 심지어 내가 정말로 대답하고 싶은지 StackOverflow조차 확인했다. 아무도 실제로 실제 문제를 설명하지 않았기 때문에 대답하고 있습니다.

기초

먼저 여기에 리모컨이 무엇인지 이해하십시오. Remote는 GitLab이고 시스템은 로컬이므로 원격에 대해 이야기 할 때 출력에 origin설정된 URL이 git remote -v원격 URL입니다.

프로토콜

기본적으로 Git clone / push / pull은 주로 두 가지 다른 프로토콜에서 작동합니다 (다른 프로토콜도 있습니다).

  1. HTTP 프로토콜
  2. SSH 프로토콜

저장소를 복제 (또는 원격 URL 변경)하고 https://gitlab.com/wizpanda/backend-app.git 과 같은 HTTPs URL 을 사용하면 첫 번째 프로토콜, 즉 HTTP 프로토콜을 사용합니다.

repo를 복제 (또는 원격 URL 변경)하고 다음과 같은 URL을 사용하는 동안 git@gitlab.com:wizpanda/backend-app.git 을 사용하는 동안 SSH 프로토콜을 사용합니다.

HTTP 프로토콜

이 프로토콜에서 모든 원격 작업, 즉 복제, 푸시 및 풀은 간단한 인증, 즉 원격 (이 경우 GitLab)의 사용자 이름 및 암호를 사용하므로 모든 작업에 대해 사용자 이름과 암호를 입력해야하므로 번거로울 수 있습니다. .

따라서 푸시 / 풀 / 복제시 GitLab / GitHub에서 사용자 이름 및 비밀번호로 인증하고 작업을 수행 할 수 있습니다.

이를 시도하려면 명령을 실행하여 HTTP URL로 전환 할 수 있습니다 git remote set-url origin <http-git-url>.

이 경우를 피하기 위해 SSH 프로토콜을 사용할 수 있습니다.

SSH 프로토콜

간단한 SSH 연결은 공개-개인 키 쌍에서 작동합니다. 따라서 귀하의 경우 SSH URL을 사용하여 통신하기 때문에 GitLab에서 인증 할 수 없습니다. 이제 GitLab은 어떤 식 으로든 당신을 알아야합니다. 이를 위해 공개-개인 키 쌍을 생성하고 공개 키를 GitLab에 제공해야합니다.

이제 GitLab으로 푸시 / 풀 / 복제 할 때 GIT (SSH 내부)는 기본적으로 GitLab에 개인 키를 제공하고 신원을 확인한 다음 GitLab에서 작업을 수행 할 수 있도록 허용합니다.

그래서 저는 무함마드가 이미 제시 한 단계를 반복하지 않고 이론적으로 반복 할 것입니다.

  1. 키 쌍`ssh-keygen -t rsa -b 2048 -C "My Common SSH Key"를 생성합니다.
  2. 생성 된 키 쌍은 기본적으로 ~/.ssh명명 된 id_rsa.pub(공개 키) 및 id_rsa(개인 키)에 있습니다.
  3. 공개 키를 GitLab 계정에 저장합니다 (동일한 키를 여러 서버 / 계정에서 사용할 수 있음).
  4. 복제 / 푸시 / 풀 때 GIT는 개인 키를 제공합니다.
  5. GitLab은 개인 키를 공개 키와 일치시켜 수행 할 수 있습니다.

항상 2048 바이트 이상의 강력한 rsa 키를 만들어야합니다. 따라서 명령은 ssh-keygen -t rsa -b 2048.

https://gitlab.com/help/ssh/README#generating-a-new-ssh-key-pair

일반적인 생각

두 접근 방식 모두 장단점이 있습니다. 위의 텍스트를 입력 한 후에는 이것에 대해 읽지 않았기 때문에 이에 대해 더 많이 검색했습니다.

이 공식 문서 https://git-scm.com/book/en/v2/Git-on-the-Server-The-Protocols 를 찾았습니다 . 여기서 내 요점은 오류를 읽고 오류에 대해 생각함으로써 자신의 이론이나 이해를 한 다음 일부 Google 결과와 일치시켜 문제를 해결할 수 있다는 것입니다. :)



0

나는 우분투 18.04를 사용하고 실제로 내 로컬 컴퓨터의 권한 문제였습니다. 내 .git 폴더에 읽기 / 쓰기 권한을 설정하면 문제가 사라졌습니다.


0

글쎄, 나는 똑같은 문제가 있었고 @Khan이 제안한 대답을 시도한 후에. 그러나 .git / config 파일의 원본 URL을 https 주소 : https://gitlab.com/mygitlabusername/mygitproject.git로 변경해야만 작동 할 수있었습니다.

ssh를 통한 액세스가 거부되었으므로 https를 사용하는 것이 문제가되지 않는다는 것을 알았습니다. 그러나 at 저장소에 푸시 할 때마다 사용자 이름과 비밀번호를 묻습니다.


0

git config credential.helper store사이트가 TLS / SSL을 사용 하는 경우 사용 하십시오. 이것이 효과가 있기를 바랍니다


0

git 저장소에 액세스하는 두 가지 방법, 즉 SSH 또는 HTTPS를 사용하는 데 차이가있는 것 같습니다. 나를 위해 SSH를 사용하여 로컬 저장소를 푸시하려고했기 때문에 오류가 발생했습니다.

프로젝트의 랜딩 페이지에서 복제 버튼을 클릭하고 HTTPS 링크를 복사 한 다음 "git @ gitlab ..."형식으로 나타나는 SSH 링크로 바꾸면 문제를 간단히 해결할 수 있습니다.


그것은 질문에 대한 답이 아닙니다.
RalfFriedl

0

권한 변경 :: chmod 400 ~ / .ssh / id_rsa 도움이되었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.