이 user@host:path/to/repo
형식은 Git에게 ssh를 사용 host
하여 username 으로 로그인하도록 지시 user
합니다. 보낸 사람 git help clone
:
ssh 프로토콜과 함께 대체 scp 유사 구문을 사용할 수도 있습니다.
[user@]host.xz:path/to/repo.git/
앞에있는 부분 @
은 사용자 이름이며 인증 방법 (암호, 공개 키 등)은 Git이 아닌 ssh에 의해 결정됩니다. ssh는 원격 서버의 구성에 따라 비밀번호를 사용하지 않을 수도 있기 때문에 Git은 비밀번호를 ssh에 전달할 수 없습니다.
ssh-agent
항상 암호를 입력하지 않도록 사용
항상 ssh 비밀번호를 입력하지 않으려는 경우 일반적인 해결책은 공개 / 개인 키 쌍 을 생성 하고 공개 키를 ~/.ssh/authorized_keys
파일 에 원격 서버에 넣고 개인 키를에로드하는 것 ssh-agent
입니다. 또한 한 번 로그인하도록 SSH를 통한 Git 구성 , ssh 키 비밀번호 문구 , gitolite의 ssh 문서 및 Heroku의 ssh 키 문서 에 대한 GitHub의 도움말 페이지를 참조하십시오 .
GitHub (또는 Heroku 또는 ...)에서 여러 계정 중에서 선택
GitHub 또는 Heroku와 같은 장소에 여러 계정이있는 경우 여러 개의 ssh 키가 있습니다 (계정 당 하나 이상). 로그인하려는 계정을 선택하려면 ssh에게 사용할 개인 키를 알려야합니다 .
예를 들어, 두 개의 GitHub의 계정을 있다고 가정 foo
하고 bar
. 에 대한 ssh 키 foo
는 ~/.ssh/foo_github_id
이고에 대한 ssh 키는 bar
입니다 ~/.ssh/bar_github_id
. 당신은 액세스하려는 git@github.com:foo/foo.git
사용자와 foo
계정과 git@github.com:bar/bar.git
사용자와 bar
계정. 당신은 다음을 추가 할 것입니다 ~/.ssh/config
:
Host gh-foo
Hostname github.com
User git
IdentityFile ~/.ssh/foo_github_id
Host gh-bar
Hostname github.com
User git
IdentityFile ~/.ssh/bar_github_id
그런 다음 두 저장소를 다음과 같이 복제합니다.
git clone gh-foo:foo/foo.git # logs in with account foo
git clone gh-bar:bar/bar.git # logs in with account bar
ssh 피하기
일부 서비스는 ssh의 대안으로 HTTP 액세스를 제공합니다.
GitHub :
https://username:password@github.com/username/repository.git
기분 좋은 :
https://username:password@gitorious.org/project/repository.git
Heroku : 이 지원 기사를 참조하십시오 .
경고 : 복제 URL에 비밀번호를 추가하면 Git이 일반 텍스트 비밀번호를에 저장합니다 .git/config
. HTTP를 사용할 때 비밀번호를 안전하게 저장하려면 자격 증명 도우미를 사용하십시오. 예를 들면 다음과 같습니다.
git config --global credential.helper cache
git config --global credential.https://github.com.username foo
git clone https://github.com/foo/repository.git
위의 내용으로 인해 Git은 15 분마다 한 번씩 비밀번호를 묻습니다 (기본). 자세한 내용 git help credentials
을 참조하십시오.