Skip to content

Commit 14b29fe

Browse files
try sshpass
1 parent 2a74cdd commit 14b29fe

File tree

1 file changed

+51
-4
lines changed

1 file changed

+51
-4
lines changed

.github/workflows/test-install-matrix.yaml

Lines changed: 51 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,43 @@ jobs:
118118
echo ::group::info:request
119119
cat request.json || true; echo
120120
echo ::endgroup::
121+
- name: Debug container setup
122+
run: |
123+
echo ::group::debug_container_setup
124+
for container in $(docker ps --format "table {{.Names}}" | tail -n +2); do
125+
echo "=== Container: $container ==="
126+
127+
# Check if SSH service is actually running
128+
echo "SSH service status:"
129+
docker exec $container systemctl is-active ssh || docker exec $container service ssh status || echo "SSH service check failed"
130+
131+
# Check SSH daemon logs
132+
echo "SSH daemon logs:"
133+
docker exec $container journalctl -u ssh --no-pager -n 10 || docker exec $container tail -10 /var/log/auth.log || echo "No SSH logs found"
134+
135+
# Check root password is set
136+
echo "Root account status:"
137+
docker exec $container passwd -S root || echo "Cannot check root account"
138+
139+
# Try to manually set root password
140+
echo "Setting root password to 'root':"
141+
docker exec $container bash -c 'echo "root:root" | chpasswd' || echo "Failed to set root password"
142+
143+
# Check authorized_keys
144+
echo "Authorized keys:"
145+
docker exec $container cat /root/.ssh/authorized_keys 2>/dev/null || echo "No authorized_keys file"
146+
147+
# Check if we can exec into container
148+
echo "Test container exec:"
149+
docker exec $container whoami || echo "Cannot exec into container"
150+
done
151+
echo ::endgroup::
121152
- name: Debug SSH connectivity
122153
run: |
123154
echo ::group::debug_ssh_connectivity
155+
# Install sshpass for password authentication
156+
sudo apt-get update && sudo apt-get install -y sshpass
157+
124158
# Check if containers are running
125159
docker ps
126160
@@ -130,7 +164,7 @@ jobs:
130164
echo "SSH processes in $container:"
131165
docker exec $container ps aux | grep sshd || echo "No sshd processes found in $container"
132166
133-
# Test SSH connectivity directly
167+
# Test SSH connectivity directly with password
134168
echo "Testing direct SSH connection to $container:"
135169
container_ip=$(docker inspect $container | jq -r '.[0].NetworkSettings.IPAddress')
136170
echo "Container IP: $container_ip"
@@ -139,10 +173,23 @@ jobs:
139173
ssh_port=$(docker port $container 22 | cut -d: -f2)
140174
echo "SSH port mapping: localhost:$ssh_port -> $container:22"
141175
142-
# Test SSH connection with timeout
143-
timeout 10 ssh -o StrictHostKeyChecking=no -o ConnectTimeout=5 -p $ssh_port root@localhost 'echo "SSH connection successful"' || echo "SSH connection failed to $container"
176+
# Test SSH connection with sshpass and root password
177+
echo "Testing SSH with sshpass and root/root:"
178+
timeout 10 sshpass -p "root" ssh -o StrictHostKeyChecking=no -o ConnectTimeout=5 -p $ssh_port root@localhost 'echo "SSH connection successful to '$container'"' || echo "SSH connection failed to $container"
179+
180+
# Also check what's actually listening on the SSH port
181+
echo "Checking what's listening on port $ssh_port:"
182+
netstat -ln | grep ":$ssh_port " || echo "Nothing listening on port $ssh_port"
183+
184+
# Check SSH config inside container
185+
echo "SSH configuration in $container:"
186+
docker exec $container cat /etc/ssh/sshd_config | grep -E "(PasswordAuthentication|PermitRootLogin|PubkeyAuthentication)" || true
187+
188+
# Check if root account is set up correctly
189+
echo "Root account info in $container:"
190+
docker exec $container passwd -S root || true
144191
done
145-
echo ::endgroup::
192+
echo ::endgroup::
146193
- name: Wait for SSH to be ready
147194
run: |
148195
echo ::group::wait_for_ssh

0 commit comments

Comments
 (0)