Fred Bongers
Fred Bongers

Reputation: 267

Gitlab post-receive hook Host key verification failed

I'm having 3 servers:

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

My git hook:

#!/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

But i'm still receiving this error:

michael@werkstation:~/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.

I have already removed the "known_hosts" file on every servers but i'm still getting the error

Upvotes: 2

Views: 898

Answers (2)

Fred Bongers
Fred Bongers

Reputation: 267

Solution: On the Gitlab server:

sudo su - git
ssh-keygen
ssh-copy-id [email protected]
ssh [email protected]

Upvotes: 1

bradrini
bradrini

Reputation: 1

Did the SSH keys on docker.example.com change?

You're receiving the remote: Host key verification failed. error because the SSH host key of the docker.example.com machine does not match the key that is contained in the known_hosts file on git.example.com.

Search the git.example.com machine for known_hosts files and see if it contains an entry for docker.example.com. If you find an entry, delete and retry the operation (or alternatively run ssh-keygen -R docker.example.com >> /path/to/known_hosts to update the key for that host).

Upvotes: 0

Related Questions