2011-10-13 3 views
2

git 저장소가있는 원격 개발 서버가 있습니다.Git hook 및 ssh 에이전트 전달

내 로컬 컴퓨터에서이 dev 서버로 푸시하면 heroku 준비 서버에서 개발 지점을 푸시하기 위해 git 후크를 실행합니다.

내 정체성은 여기

Host * 
    User myuser 
    ConnectTimeout 15 
    ServerAliveInterval 45 
    ForwardAgent yes 
    IdentityFile ~/.ssh/id_rsa 

가 어떻게 그것을에게 Heroku에 배포하는 후크에서 사용 할 수 있습니다 내 ~/스푸핑/설정은, 개발 서버로 전달됩니다?

현재 에이전트는 전달되지 않지만 개발 서버 ssh ID를 사용합니다. 우리는 많은 사람들이 추진하고있는 것처럼 서버에서 ssh 키를 피하려고합니다.

아이디어에 감사드립니다.

답변

0

당신이 사용자 참고 MyUser와 개발 서버에 연결하는 때문에, 자식 후크는 참고 MyUser로 실행해야합니다. 이미 사용자 참고 MyUser 대한 개발 서버에서 Heroku가 준비 서버에 연결하기 위해 SSH-키 쌍을 생성하지 한 경우

, 당신은 그렇게 할 필요가있다.

<Login to your development server as myuser> 
ssh-keygen -t rsa 
<Upload the public key onto your heroku server's authorized_keys file> 

당신은 스테이징 서버에 연결하는 고리로 사용할 수있는 사용자 참고 MyUser을 위해 개발 서버에 비슷한 ~/스푸핑/설정을 만들어야합니다.

그리고 당신이 준비 서버에 로그인 할 수 있는지 확인하기 위해 개발 서버에서이 명령을 시도 할 수 있습니다 확인 :

ssh heroku-staging-server 

모든 :)

+0

입력 해 주셔서 고맙습니다. 중간에 키를 만들지 않고 (실제로 새로운 에이전트 인) 많은 ssh 세션을 통해 동일한 에이전트를 전달하는 것에 대해 궁금합니다. – albandiguer

1

해야 즉 그래서이 추가 내 쉘 세션의 프로파일 (예 : 프로필 또는 bashrc conf).

if [ ! -d /tmp/501 ]; then 
    mkdir /tmp/501 
    ssh-agent -a /tmp/501/ssh-agent.socket 
fi 

SSH_AUTH_SOCK=/tmp/501/ssh-agent.socket 
export SSH_AUTH_SOCK 
ssh-add ~/.ssh/id_rsa 

누군가가 도움이되기를 바랍니다.