programing

Github이 화면의 지침을 따르고 새 repo를 푸시할 때 사용자 이름/비밀번호를 묻는 이유는 무엇입니까?

cafebook 2023. 5. 18. 23:57
반응형

Github이 화면의 지침을 따르고 새 repo를 푸시할 때 사용자 이름/비밀번호를 묻는 이유는 무엇입니까?

저는 github에 있는 조직의 소유자이며 방금 보고서를 만들고 푸시를 시도했지만 SSH를 사용할 수 있음에도 불구하고 사용자 이름을 묻는 문제에 직면했습니다.

$ ssh -T git@github.com
Hi Celc! You've successfully authenticated, but GitHub does not provide shell access.
$ git add .
$ git commit -m 'first commit'
[master (root-commit) 3f1b963] first commit
 6 files changed, 59 insertions(+)
 create mode 100644 .gitignore
 create mode 100644 main.js
 create mode 100644 package.json
 create mode 100644 readme.markdown
 create mode 100644 views/index.ejs
 create mode 100644 views/layout.ejs
$ git remote add origin https://github.com/WEMP/project-slideshow.git
$ git push -u origin master
Username for 'https://github.com':

내가 뭘 잘못하고 있는 거지?이전에는 이런 일이 없었지만 최근에는 git 1.7.10.3으로 업그레이드했습니다.

HTTP를 사용하지 않고 SSH를 사용합니다.

바꾸다

https://github.com/WEMP/project-slideshow.git 

로.

git@github.com:WEMP/project-slideshow.git

에서 할있다니습수에서 할 수 ..git/config

저도 같은 문제가 있었는데 왜 https로 복제된 비트 버킷 레포에서 발생하지 않는지 궁금했습니다.조금 조사해보니 BB repo의 구성에 제 사용자 이름이 포함된 URL이 있었습니다.그래서 나는 수동으로 내 GH repo에 대한 구성을 편집했고 voila는 더 이상 사용자 이름 프롬프트가 없습니다.저는 윈도우에 있습니다.

your_repo_dir/.git/config: (비공식:.git폴더가 숨겨져 있음)

변경:

https://github.com/WEMP/project-slideshow.git

대상:

https://*username*@github.com/WEMP/project-slideshow.git

파일을 저장합니다.를 .git pull테스트하기 위해.

이렇게 하는 올바른 방법은 gitbash 명령을 사용하여 설정을 편집하는 것일 수 있지만 파일을 직접 편집하는 것은 문제가 되지 않는 것 같습니다.

이에 대한 공식 답변은 다음과 같습니다.

GitHub과 상호 작용하려고 할 때마다 Git이 사용자 이름과 암호를 묻는 메시지를 표시하면 저장소에 HTTPS 복제 URL을 사용하고 있을 수 있습니다.

HTTPS 원격 URL을 사용하면 SSH보다 설정하기 쉽고 일반적으로 엄격한 방화벽 및 프록시를 통해 작동한다는 몇 가지 이점이 있습니다.그러나 리포지토리를 풀하거나 푸시할 때마다 GitHub 자격 증명을 입력하라는 메시지도 표시됩니다.

암호를 저장하도록 Git를 구성할 수 있습니다.설정하려면 암호 캐싱 설정에 대한 모든 내용을 읽어 보십시오.

@Ianl의 대답에 따라,

2단계 인증이 가능하다면 비밀번호 대신 토큰을 사용해야 할 것 같습니다.여기서 토큰을 생성할 수 있습니다.

사용자 이름과 암호에 대한 프롬프트를 모두 비활성화하려면 다음과 같이 URL을 설정할 수 있습니다.

git remote set-url origin https://username:password@github.com/WEMP/project-slideshow.git

URL에는 사용자 이름과 암호가 모두 있습니다. 한또..git/config파일에 현재 설정이 표시되어야 합니다.


업데이트 20200128:

구성 파일에 암호를 저장하지 않으려면 개인 토큰을 생성하고 암호를 토큰으로 바꿀 수 있습니다.여기 몇 가지 세부 사항이 있습니다.

이렇게 보일 겁니다.

git remote set-url origin https://username:token@github.com/WEMP/project-slideshow.git

추가 참고 사항:

이미 원격($git remote add origin...)을 추가했으며 해당 특정 원격을 변경해야 하는 경우, 먼저 원격 제거($git remote rm origin...)를 수행한 후 새 개선된 repo URL을 다시 추가합니다("origin"은 원격 repo의 이름).

원본 예제를 사용하면 다음과 같습니다.

$ git remote add origin https://github.com/WEMP/project-slideshow.git
$ git remote rm origin
$ git remote add origin https://github-username@github.com/WEMP/project-slideshow.git

HTTPS를 사용하는 경우 URL이 올바른지 확인합니다.예:

$ git clone https://github.com/wellle/targets.git
Cloning into 'targets'...
Username for 'https://github.com': ^C

$ git clone https://github.com/wellle/targets.vim.git
Cloning into 'targets.vim'...
remote: Counting objects: 2182, done.
remote: Total 2182 (delta 0), reused 0 (delta 0), pack-reused 2182
Receiving objects: 100% (2182/2182), 595.77 KiB | 0 bytes/s, done.
Resolving deltas: 100% (1044/1044), done.

저는 방금 github.com 관리자로부터 다음과 같은 내용의 이메일을 받았습니다. "우리는 일반적으로 사람들이 SSH 프로토콜을 사용해야 하는 특별한 이유가 없는 한 HTTPS URL을 사용할 것을 권장합니다.HTTPS는 안전하고 설정하기 쉬우므로 새 리포지토리를 만들 때 기본값으로 설정합니다."

암호 프롬프트는 일반적인 github.com 로그인 세부 정보를 수락합니다.암호 캐싱을 설정하는 방법에 대한 자습서는 여기에서 찾을 수 있습니다.저는 튜토리얼의 단계를 따랐고, 그것은 저에게 효과가 있었습니다.

HTTPS 방식을 사용하고 있기 때문입니다.HTTPS는 밀거나 당기려고 할 때마다 계정 액세스 권한을 입력해야 하지만 SSH라는 가지 방법도 있습니다. 그러면 이 PC에 대한 계정 권한을 부여하고 사용자 액세스 권한에 대해 다시는 묻지 않는다는 것을 git에 알릴 수 있습니다.그것을 사용하기 위해서는 SSH 키를 생성하여 Github의 계정에 한 번만 추가해야 합니다.이를 위해 다음 단계를 수행할 수 있습니다.

Github용 SSH 키를 생성하는 방법

2단계 인증을 사용하도록 설정한 경우 개인 액세스 토큰을 생성하고 일반 암호 대신 이 토큰을 사용해야 합니다.자세한 내용은 https://help.github.com/articles/creating-an-access-token-for-command-line-use/ 에서 확인할 수 있습니다.

언급URL : https://stackoverflow.com/questions/10909221/why-is-github-asking-for-username-password-when-following-the-instructions-on-sc

반응형