원격 서버에서 git pull
을 수행하는 fab 스크립트를 작성하고 있지만 패브릭에서 명령을 실행할 때 Permission denied (publickey,keyboard-interactive).
이 표시됩니다.패브릭을 사용하여 git 리포지토리에서 사용 권한이 거부되었습니다.
서버에 ssh를 연결 한 다음 끌어 오기를 수행하면 작동합니다.
import fabric.api as fab
def update():
'''
update workers code
'''
with fab.cd('~/myrepo'):
# pull changes
print colors.cyan('Pulling changes...')
fab.run('git pull origin master')
가 어떻게 그것을 패브릭 작업을합니까 :
가 여기 내 패브릭 작업의 (등, 내가 설치 서버의 키를 이미했습니다, 그래서 암호 문구를 요구하지 않습니다)?
편집 : 내 서버는 Google Compute 인스턴스이며 인스턴스에 ssh에 gcutil 도구를 제공합니다. 이것은 서버에 연결하기 위해 실행되는 명령입니다
이 (가cd
및
supervisor
및
git status
같은 서버에서 명령을 실행할 수 있어요) 스크립트는 서버 AFAICT에 연결할 수, 그냥
git pull
의
ssh -o UserKnownHostsFile=/dev/null -o CheckHostIP=no -o StrictHostKeyChecking=no -i /Users/John/.ssh/google_compute_engine -A -p 22 [email protected]
그 실패합니다.
어떤 사용자가 작업을 수행하여 (따라서 패브릭 아래에)? "권한이 거부되었습니다 ..."git 작업은 authetication이 실패한 증상입니다. –
둘 다 동일한 사용자를 사용하고 있습니다. 패브릭의 호스트는'[John @ server]'이고, ssh 일 때는'John @ server'와 같습니다. – john2x