Capistrano (v3.5.0)를 사용하여 로컬 개발 컴퓨터에서 Bitbucket에 설정된 배포 키를 사용하여 Linode에서 호스팅되는 VPS로 작은 Rails 응용 프로그램을 배포합니다. 지난 주말처럼, 그것은 매력처럼 일하고있었습니다.배포 도중 Capistrano가 내 Bitbucket Git 저장소에서 갑자기 읽을 수없는 이유는 무엇입니까?
DEBUG [6906a62c] conq: repository access denied.
DEBUG [6906a62c] fatal: The remote end hung up unexpectedly
:
DEBUG [6906a62c] Command: (export RBENV_ROOT="$HOME/.rbenv" RBENV_VERSION="2.2.1"
GIT_ASKPASS="/bin/echo" GIT_SSH="/tmp/app/git-ssh.sh" ; /usr/bin/env git
ls-remote --heads [email protected]:klenwell/app.git)
이 오류입니다 : 내가 평소 cap deploy
명령을 실행할 때
그러나 오늘날, 그것은 내의 Bitbucket Git 저장소에서 읽으려고 할 때 세 번째 단계에서 실패
나는 분명한 문제 해결을 수행했다. 오류 메시지를 검색하고, VPS가 작동하며, 저장소에 액세스 할 수 있는지 확인하고, SSH 키를 두 번 확인하고, SSH 에이전트가 실행 중인지 확인했다. 다른 모든 방법이 실패하면 VPS 호스트에서 새 키를 생성 해 봅니다. 특히
이 점은 내가 어리둥절 있습니다
가 있었다- (지금까지의 내가 말할 수있는)이 지난 성공적으로 실행하기 때문에 아니오 카피 스트라 노의 변경 또는 VPS 구성. 지난 주 카피 스트라 노 기록에서 같은 명령이 성공적으로 실행되는 것을 봅니다.
- 배포 사용자로 내 VPS 서버에 ssh를 설치하면
ssh -T [email protected]
과 같은 정확한 git 명령을 문제없이 수동으로 실행할 수 있습니다. - 로컬 컴퓨터의 Jenkins 서버가 해당 배포 키를 사용하여 동일한 Bitbucket 리포지토리에서 성공적으로 읽을 수 있습니다.
나는 무엇을 놓치고?
카피 스트라 노는 SSH 에이전트 포워딩을 사용
당신은 카피 스트라 노의 SSH 에이전트 포워딩이 같은 (이에 힘내 배포 키를 서버에 설치 한을 사용할 수 있도록) 비활성화 할 수 있습니다. 사실 이것은 BitBucket으로 인증하기 위해 * 로컬 * SSH 키를 사용한다는 것을 의미합니다. 로컬 키가 변경되었거나 더 이상 BitBucket에 액세스 할 수 있습니까? –
@MattBrictson 당신은 그것을 못 박았습니다. 내 로컬 시스템에 여러 Bitbucket 사용자가 있고 기본 배포가 배치 사이에 재설정 된 것 같습니다. 어쨌든,이 줄은 내'deploy.rb' 파일에'set : ssh_options, {forward_agent : false}'에 추가하는 것이었다. 답변을 귀하의 의견을 변환하고 그것을 선택하겠습니다. 감사! – klenwell