2024-04-22 14:47:20 +00:00
|
|
|
name: Test!
|
|
|
|
|
|
|
|
on:
|
|
|
|
push:
|
|
|
|
branches:
|
|
|
|
- main
|
|
|
|
pull_request:
|
|
|
|
branches:
|
|
|
|
- main
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
test:
|
|
|
|
steps:
|
|
|
|
- name: Check out code
|
|
|
|
uses: actions/checkout@v3
|
|
|
|
|
|
|
|
- name: Generate SSH key pair
|
|
|
|
run: |
|
|
|
|
ssh-keygen -t rsa -b 4096 -f my_ssh_key -N ""
|
|
|
|
|
2024-04-22 14:58:23 +00:00
|
|
|
- name: Install Docker
|
|
|
|
run: |
|
|
|
|
sudo apt-get update
|
|
|
|
sudo apt-get install -y docker.io
|
|
|
|
|
2024-04-22 14:47:20 +00:00
|
|
|
- name: Build and run SSH Server Docker Container
|
|
|
|
run: |
|
|
|
|
docker build -t my-ssh-server ./ci-tests/Dockerfile
|
|
|
|
docker run -d -p 2222:22 --name ssh-server my-ssh-server
|
|
|
|
|
|
|
|
- name: Copy public key to Docker container
|
|
|
|
run: |
|
|
|
|
docker cp my_ssh_key.pub ssh-server:/home/replication/.ssh/authorized_keys
|
|
|
|
docker exec ssh-server chown replication:replication /home/replication/.ssh/authorized_keys
|
|
|
|
docker exec ssh-server chmod 600 /home/replication/.ssh/authorized_keys
|
|
|
|
|
|
|
|
- name: Trust SSH server's host key (to prevent interactive prompt)
|
|
|
|
run: |
|
|
|
|
ssh-keyscan -p 2222 -H localhost >> ~/.ssh/known_hosts
|
|
|
|
|
|
|
|
- name: Connect to SSH server using SSH key
|
|
|
|
run: |
|
|
|
|
ssh -i my_ssh_key -p 2222 root@localhost echo "SSH connection successful"
|