Atlassian Stash의 호스팅 된 인스턴스에 자식 저장소가 있습니다. 그 다음에는 최신 버전의 소프트웨어 시스템을 배포하는 olympus, zeus 및 hera의 세 가지 시스템이 있습니다. 이것을 자동화하기 위해 olympus에서 ssh
과 git pull
을 사용하려고하는 다른 컴퓨터에 원격으로 배포하고 싶지만 Permission denied (publickey).
으로 실패합니다. 기본적으로 내가 할 얻을 :Permission denied (publickey)에서 ssh 결과를 사용하여 원격 Git을 당깁니다.
[email protected]:~$ ssh [email protected] 'cd ~/my/project/release/deploy/location/; git pull'
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
을 나는 다음과 같은 한 :
- 모든 기계는 (은 LDAP 등을 설치하는 시간이 없었어요) 다른 azg 사용자를 가지고 내가 가지고 azg @ 올림푸스, azg @zeus와 azg @ hera. 각 사용자마다 ssh id_rsa 키 쌍을 생성했습니다.
- 내가
숨김 azg 사용자마다 azg 사용자에 대한 모든 id_rsa.pub의 복사본으로 구성되는 등의 대응 id_rsa.pub 각 azg 사용자
authorized_keys
를 채운 (azg @ 올림푸스 azg @ 제우스 azg @hera) 그래서 매번 암호를 입력 할 필요없이 ssh를 통해 모든 컴퓨터에서 복제하거나 잡아 당길 수 있습니다.[email protected]:~/code$ git clone ssh://[email protected]:7999/pm/pm.git Cloning into 'pm'... remote: Counting objects: 555, done. remote: Compressing objects: 100% (271/271), done. remote: Total 555 (delta 203), reused 555 (delta 203) Receiving objects: 100% (555/555), 9.54 MiB, done. Resolving deltas: 100% (203/203), done.
을 나는 개별적으로 각 시스템에서 같은 작업을 수행 할 수 있습니다 그러므로 나는 아무 문제도 할 수 없다. 그러나 원격으로 먼저 로그인하면 암호를 입력 할 수 없습니다. '/home/azg/.ssh/id_rsa'키를 입력 할 때마다 암호를 묻습니다.
[email protected]:~$ ssh [email protected]
Welcome to Ubuntu 12.04.3 LTS (GNU/Linux 3.5.0-43-generic x86_64)
* Documentation: https://help.ubuntu.com/
Last login: Wed Nov 27 17:01:33 2013 from olympus
[email protected]:~$ cdc
[email protected]:~/code$ git clone ssh://[email protected]:7999/pm/pm.git
Cloning into 'pm'...
Enter passphrase for key '/home/azg/.ssh/id_rsa': <<<<<<<<<<< WHY???
remote: Counting objects: 555, done.
remote: Compressing objects: 100% (271/271), done.
remote: Total 555 (delta 203), reused 555 (delta 203)
Receiving objects: 100% (555/555), 9.54 MiB | 145 KiB/s, done.
Resolving deltas: 100% (203/203), done.
passphrase-less ssh 키 쌍을 하나만 생성하고 모든 시스템에서 사용해야한다는 점을 올바르게 알고 있습니까? pub 파일에서 호스트 이름, 즉 azg @ zeus가 어떤 역할을합니까? –
예, 그게 내가 할일입니다. 아니, 공개 키 파일 안의 줄 끝 부분에 놓이는'user @ host'는 단지 주석입니다. 그것은 완전히 부적절합니다. 나는 대개'dg99 @ global'으로 대체합니다. 이것은 여전히 의미가 없지만 개인적으로 제가 여러 곳에서이 키 쌍을 사용하고 있음을 상기시켜줍니다. – dg99
Allrighty 덕분에 작동합니다! 단지 당신의 답을 따르는 완성을 위해 나는'에이전트가 열쇠를 사용하여 서명하지 못함을 인정했다. '라는 오류로 끝날 것이며 이것은 모든 기계에서'ssh-add'를 실행하는 것으로 고정됩니다! 답변을 업데이트하십시오. 동의하겠습니다. –