2016-05-26 7 views
2

Ich habe 3-Server:Gitlab Post erhalten Haken Host-Schlüssel-Überprüfung fehlgeschlagen

werkstation.example.com -> server where the gitlab repository is cloned & for changing the files fom the repository 
git.example.com -> gitab server with repository "tomcat" 
docker.example.com -> server where the files will be copied with git hook 

Mein git Haken:

#!/bin/sh 

read oldrev newrev refname 

REPO="[email protected]:michaelv1234/tomcat.git" 
BRANCH=`echo $refname | sed -n 's/^refs\/heads\///p'` 
BRANCH_DIR="/home/michael" 
SSH_DEST="[email protected]" 

## 
# Instantiate the branches on the puppetmaster 
if [ "$newrev" -eq 0 ] 2> /dev/null; then 
     # branch is being deleted 
     echo "Deleting remote branch $SSH_DEST $BRANCH_DIR/$BRANCH" 
     echo "$SSH_DEST" /bin/sh 
     ssh "$SSH_DEST" /bin/sh <<-EOF 
       cd "$BRANCH_DIR" && rm -rf $BRANCH 
     EOF 
else 
     # branch is being updated 
     echo "Updating remote branch $SSH_DEST $BRANCH_DIR/$BRANCH" 
     ssh "$SSH_DEST" /bin/sh <<-EOF 
       { cd "$BRANCH_DIR/$BRANCH" || mkdir -p "$BRANCH_DIR/$BRANCH" && cd "$BRANCH_DIR/$BRANCH"; } \ 
       && { git fetch origin && git reset --hard origin/$BRANCH || { git clone "$REPO" ./ && git checkout $BRANCH; }; } 
     EOF 
fi 

Aber Ich erhalte noch diese Störung:

[email protected]:~/tomcat$ git push -u origin master 
Counting objects: 5, done. 
Compressing objects: 100% (2/2), done. 
Writing objects: 100% (3/3), 254 bytes | 0 bytes/s, done. 
Total 3 (delta 1), reused 0 (delta 0) 
remote: Updating remote branch [email protected] /home/michael/master 
remote: Host key verification failed. 
To [email protected]:michaelv1234/tomcat.git 
0032c02..6e8ef97 master -> master 
Branch master set up to track remote branch master from origin. 

Ich habe bereits die "known_hosts" -Datei auf jedem Server entfernt, aber ich bekomme immer noch den Fehler

+0

nur zum Testen, in Ihrem git Haken, können Sie 'ungesetzt GIT_DIR'? – VonC

+0

Ja, ich kann GIT_DIR zurücksetzen –

+0

Hat sich etwas geändert? – VonC

Antwort

0

Haben sich die SSH-Tasten auf docker.example.com geändert?

Sie erhalten den Fehler remote: Host key verification failed., weil der SSH-Hostschlüssel des docker.example.com-Computers nicht mit dem Schlüssel übereinstimmt, der in der Datei auf git.example.com enthalten ist.

Suchen Sie in der git.example.com Maschine nach known_hosts Dateien und sehen Sie nach, ob sie einen Eintrag für docker.example.com enthält. Wenn Sie einen Eintrag gefunden haben, löschen Sie ihn und wiederholen Sie den Vorgang (oder führen Sie alternativ ssh-keygen -R docker.example.com >> /path/to/known_hosts aus, um den Schlüssel für diesen Host zu aktualisieren).

+0

Nein die SSH-Schlüssel nicht geändert hat –