@@ -43,23 +43,39 @@ ctest -V -R libgit2_clar || exit $?
4343
4444killall git-daemon
4545
46- if [ " $TRAVIS_OS_NAME " = " osx" ]; then
47- echo ' PasswordAuthentication yes' | sudo tee -a /etc/sshd_config
48- fi
49-
46+ # Set up sshd
47+ mkdir ~ /sshd/
48+ cat > ~/sshd/sshd_config<< -EOF
49+ Port 2222
50+ ListenAddress 0.0.0.0
51+ Protocol 2
52+ HostKey ${HOME} /sshd/id_rsa
53+ RSAAuthentication yes
54+ PasswordAuthentication yes
55+ PubkeyAuthentication yes
56+ ChallengeResponseAuthentication no
57+ # Required here as sshd will simply close connection otherwise
58+ UsePAM no
59+ EOF
60+ ssh-keygen -t rsa -f ~ /sshd/id_rsa -N " " -q
61+ /usr/sbin/sshd -f ~ /sshd/sshd_config
62+
63+ # Set up keys
5064ssh-keygen -t rsa -f ~ /.ssh/id_rsa -N " " -q
5165cat ~ /.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
52- ssh-keyscan -t rsa localhost >> ~/.ssh/known_hosts
66+ while read algorithm key comment; do
67+ echo " [localhost]:2222 $algorithm $key " >> ~/.ssh/known_hosts
68+ done < ~/sshd/id_rsa.pub
5369
5470# Get the fingerprint for localhost and remove the colons so we can parse it as
5571# a hex number. The Mac version is newer so it has a different output format.
5672if [ " $TRAVIS_OS_NAME " = " osx" ]; then
57- export GITTEST_REMOTE_SSH_FINGERPRINT=$( ssh-keygen -E md5 -F localhost -l | tail -n 1 | cut -d ' ' -f 3 | cut -d : -f2- | tr -d :)
73+ export GITTEST_REMOTE_SSH_FINGERPRINT=$( ssh-keygen -E md5 -F ' [ localhost]:2222 ' -l | tail -n 1 | cut -d ' ' -f 3 | cut -d : -f2- | tr -d :)
5874else
59- export GITTEST_REMOTE_SSH_FINGERPRINT=$( ssh-keygen -F localhost -l | tail -n 1 | cut -d ' ' -f 2 | tr -d ' :' )
75+ export GITTEST_REMOTE_SSH_FINGERPRINT=$( ssh-keygen -F ' [ localhost]:2222 ' -l | tail -n 1 | cut -d ' ' -f 2 | tr -d ' :' )
6076fi
6177
62- export GITTEST_REMOTE_URL=" ssh://localhost/$HOME /_temp/test.git"
78+ export GITTEST_REMOTE_URL=" ssh://localhost:2222 /$HOME /_temp/test.git"
6379export GITTEST_REMOTE_USER=$USER
6480export GITTEST_REMOTE_SSH_KEY=" $HOME /.ssh/id_rsa"
6581export GITTEST_REMOTE_SSH_PUBKEY=" $HOME /.ssh/id_rsa.pub"
@@ -83,6 +99,8 @@ if [ -e ./libgit2_clar ]; then
8399
84100fi
85101
102+ killall sshd
103+
86104export GITTEST_REMOTE_URL=" https://github.com/libgit2/non-existent"
87105export GITTEST_REMOTE_USER=" libgit2test"
88106ctest -V -R libgit2_clar-cred_callback
0 commit comments