Skip to content
This repository was archived by the owner on Aug 26, 2025. It is now read-only.

Commit 5e7e5e9

Browse files
author
Martin Wentzel
committed
Adds test setup.
Uses one dockerfile to act as the server and one to act as the client.
1 parent 29066b8 commit 5e7e5e9

File tree

10 files changed

+268
-0
lines changed

10 files changed

+268
-0
lines changed

test/client/Dockerfile

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
FROM stocard/node:8.11
2+
COPY ./package.json ./package.json
3+
COPY ./yarn.lock ./yarn.lock
4+
RUN yarn install --silent --frozen-lockfile
5+
6+
COPY ./tsconfig.json ./
7+
COPY ./tslint.json ./
8+
COPY ./src ./src
9+
RUN yarn build
10+
11+
# adds the ssh keys
12+
COPY ./test/keys /root/.ssh/
13+
14+
# add the non protected key as the standard key
15+
COPY ./test/keys/id_rsa_no_pass /root/.ssh/id_rsa
16+
COPY ./test/keys/id_rsa_no_pass.pub /root/.ssh/id_rsa.pub
17+
18+
19+
# COPY ./dist ./dist
20+
COPY ./test ./test
21+
22+
23+
CMD ["yarn", "test"]

test/docker-compose.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
version: "3.2"
2+
services:
3+
server:
4+
ports:
5+
- 22:22
6+
build:
7+
context: ./
8+
dockerfile: ./server/Dockerfile
9+
10+
tester:
11+
build:
12+
context: ../
13+
dockerfile: ./test/client/Dockerfile
14+
depends_on:
15+
- server
16+

test/keys/authorized_keys

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCVZhjIJ/qfg1i8QsIbn6Vhhvh0OqSFrCK7837F2KuIhoIzP0MtqnL+Mxmg7/TxEh5KvZUWtVRoZsfdgG9aUtgb8YE1fCghJPmXqR2KKbWCVmSCm3BCmGJ0RbscUVOIZ+8aQKWSqZk6M7Bykvxc0HOdJzyMqrcT6cUhYKG0NJRRUysga+D3Bfnhwz7rieAb7C7v+dQhaJGmfXLQpC27/F5rGh5REVv44S4C+FcL2Wl6Gl9Cjjtcr/fc5jd0DfEE4o4rhC80/DjemBo67Qg63S6e1Cmdp8Y9PB5UgveqBNIwZCDzRGNimmD1aFor86oF4U0CkYHSb2lvoHZpV6g+XY6dZ5NhSib7OrM7LgB80RiO6hEbiPc2T8B1VL+R6G++KXc5z9ZOAgdWCCPirLWMF8RXhxiFJ/OnAyWBZsL9Q4j/pOtBWndZqBVLpaf4ko3yT/kxKVw8NcV8EHn6N9NFzIiQzlIG9B2QQ/Se0sLTcPBDGHqL8oGN1+I9Bv2Um5jnmmwTJO4+DDRvknuFsjpr7eYAZXdPLpyVIDLkA8PdbhgOzosofRmX9rokDac+kLxfaRl+C35+cto/orHaqR7XHs0LOe7Wg8TlO46VbFuMPG98pQBP+GUP440TY8U/vj9aIBD/BY9QJJAhgbF16D2CUTM95VA4I9ZZyFHyKwRZHF2vpw== [email protected]
2+
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDf/1Fs4Fr8Y/1PA4pDnTSMOG6Af//L5wQJAKleW5lA5+OUiqkYwudM9z/e5pD3/jGKtYNuAr7PUnGNbAsSy73ac5APPyHYxl9fv39ZEXrGvVOX8tAsQa0LvuQeEaVWqDoKoNlbFMIvZuDuYdwc5UB47ykX9OY+3roA1yhbCY54Ts2xYVzGYzFUtNr2ctg0h8veB05zZIE2XCNC3tycdR7KCGFb9cemDXxaFA3YVpNMq1ui3U1pFpNEiCSFmIzaMlIX2nOcHBW7b7DvAybzuNz114ymkB9cvH4IX9+ci1h3yu7oTTVR5bnyq2/wGlSmZzCdD2WIy2hZXd4AELWDdE3GgMCOMjQDhHkdfkROBdTODSKL5E6Wsw2XeKZq8lPZgUYBM2Q3hL1ans/5zO5llXRxl/KmrJMgMwRGnNuup3rPi5faw21BYc07hEo+Z/idvJS8iGOuxb+p0cQh072L9vh1zpUVxVenzdDuxHRRYzRl6qk2kvEQtjoHZlnRG//emi/jk1ULNO5qd4+YhHllMIxYDlJwndEW7GQoEmCsVX/YNgLizCquFee8wj1NSoE0qXTiHMaOY2Bw6RYYSXr0/+fGk6dM8LY7OQHW13A5CgyE9OoHd39LiuE6mvAmbt+PpNWLBLVMi2QQd2xOXFvOVrTDUQXHr9RHbi2TBNMoVgVZVw== [email protected]

test/keys/id_rsa_no_pass

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
-----BEGIN RSA PRIVATE KEY-----
2+
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
51+
-----END RSA PRIVATE KEY-----

test/keys/id_rsa_no_pass.pub

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCVZhjIJ/qfg1i8QsIbn6Vhhvh0OqSFrCK7837F2KuIhoIzP0MtqnL+Mxmg7/TxEh5KvZUWtVRoZsfdgG9aUtgb8YE1fCghJPmXqR2KKbWCVmSCm3BCmGJ0RbscUVOIZ+8aQKWSqZk6M7Bykvxc0HOdJzyMqrcT6cUhYKG0NJRRUysga+D3Bfnhwz7rieAb7C7v+dQhaJGmfXLQpC27/F5rGh5REVv44S4C+FcL2Wl6Gl9Cjjtcr/fc5jd0DfEE4o4rhC80/DjemBo67Qg63S6e1Cmdp8Y9PB5UgveqBNIwZCDzRGNimmD1aFor86oF4U0CkYHSb2lvoHZpV6g+XY6dZ5NhSib7OrM7LgB80RiO6hEbiPc2T8B1VL+R6G++KXc5z9ZOAgdWCCPirLWMF8RXhxiFJ/OnAyWBZsL9Q4j/pOtBWndZqBVLpaf4ko3yT/kxKVw8NcV8EHn6N9NFzIiQzlIG9B2QQ/Se0sLTcPBDGHqL8oGN1+I9Bv2Um5jnmmwTJO4+DDRvknuFsjpr7eYAZXdPLpyVIDLkA8PdbhgOzosofRmX9rokDac+kLxfaRl+C35+cto/orHaqR7XHs0LOe7Wg8TlO46VbFuMPG98pQBP+GUP440TY8U/vj9aIBD/BY9QJJAhgbF16D2CUTM95VA4I9ZZyFHyKwRZHF2vpw== [email protected]

test/keys/id_rsa_pass

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
-----BEGIN RSA PRIVATE KEY-----
2+
Proc-Type: 4,ENCRYPTED
3+
DEK-Info: AES-128-CBC,20EBEBDAEF502087A268D86E4697C64B
4+
5+
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
54+
-----END RSA PRIVATE KEY-----

test/keys/id_rsa_pass.pub

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDf/1Fs4Fr8Y/1PA4pDnTSMOG6Af//L5wQJAKleW5lA5+OUiqkYwudM9z/e5pD3/jGKtYNuAr7PUnGNbAsSy73ac5APPyHYxl9fv39ZEXrGvVOX8tAsQa0LvuQeEaVWqDoKoNlbFMIvZuDuYdwc5UB47ykX9OY+3roA1yhbCY54Ts2xYVzGYzFUtNr2ctg0h8veB05zZIE2XCNC3tycdR7KCGFb9cemDXxaFA3YVpNMq1ui3U1pFpNEiCSFmIzaMlIX2nOcHBW7b7DvAybzuNz114ymkB9cvH4IX9+ci1h3yu7oTTVR5bnyq2/wGlSmZzCdD2WIy2hZXd4AELWDdE3GgMCOMjQDhHkdfkROBdTODSKL5E6Wsw2XeKZq8lPZgUYBM2Q3hL1ans/5zO5llXRxl/KmrJMgMwRGnNuup3rPi5faw21BYc07hEo+Z/idvJS8iGOuxb+p0cQh072L9vh1zpUVxVenzdDuxHRRYzRl6qk2kvEQtjoHZlnRG//emi/jk1ULNO5qd4+YhHllMIxYDlJwndEW7GQoEmCsVX/YNgLizCquFee8wj1NSoE0qXTiHMaOY2Bw6RYYSXr0/+fGk6dM8LY7OQHW13A5CgyE9OoHd39LiuE6mvAmbt+PpNWLBLVMi2QQd2xOXFvOVrTDUQXHr9RHbi2TBNMoVgVZVw== [email protected]

test/server/Dockerfile

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
FROM ubuntu:16.04
2+
3+
RUN apt-get update
4+
RUN apt-get -yq install openssh-server; \
5+
mkdir -p /var/run/sshd; \
6+
mkdir /root/.ssh && chmod 700 /root/.ssh; \
7+
touch /root/.ssh/authorized_keys
8+
9+
COPY ./server/sshd_config /etc/ssh/sshd_config
10+
11+
12+
COPY ./keys/authorized_keys /root/.ssh/authorized_keys
13+
14+
15+
EXPOSE 22
16+
CMD /usr/sbin/sshd -D

test/server/sshd_config

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
# What ports, IPs and protocols we listen for
2+
Port 22
3+
# Use these options to restrict which interfaces/protocols sshd will bind to
4+
#ListenAddress ::
5+
#ListenAddress 0.0.0.0
6+
Protocol 2
7+
# HostKeys for protocol version 2
8+
HostKey /etc/ssh/ssh_host_rsa_key
9+
HostKey /etc/ssh/ssh_host_dsa_key
10+
HostKey /etc/ssh/ssh_host_ecdsa_key
11+
HostKey /etc/ssh/ssh_host_ed25519_key
12+
#Privilege Separation is turned on for security
13+
UsePrivilegeSeparation yes
14+
15+
# Lifetime and size of ephemeral version 1 server key
16+
KeyRegenerationInterval 3600
17+
ServerKeyBits 1024
18+
19+
# Logging
20+
SyslogFacility AUTH
21+
LogLevel INFO
22+
23+
# Authentication:
24+
LoginGraceTime 120
25+
PermitRootLogin without-password
26+
StrictModes yes
27+
28+
RSAAuthentication yes
29+
PubkeyAuthentication yes
30+
#AuthorizedKeysFile %h/.ssh/authorized_keys
31+
32+
# Don't read the user's ~/.rhosts and ~/.shosts files
33+
IgnoreRhosts yes
34+
# For this to work you will also need host keys in /etc/ssh_known_hosts
35+
RhostsRSAAuthentication no
36+
# similar for protocol version 2
37+
HostbasedAuthentication no
38+
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
39+
#IgnoreUserKnownHosts yes
40+
41+
# To enable empty passwords, change to yes (NOT RECOMMENDED)
42+
PermitEmptyPasswords no
43+
44+
# Change to yes to enable challenge-response passwords (beware issues with
45+
# some PAM modules and threads)
46+
ChallengeResponseAuthentication no
47+
48+
# Change to no to disable tunnelled clear text passwords
49+
PasswordAuthentication no
50+
51+
# Kerberos options
52+
#KerberosAuthentication no
53+
#KerberosGetAFSToken no
54+
#KerberosOrLocalPasswd yes
55+
#KerberosTicketCleanup yes
56+
57+
# GSSAPI options
58+
#GSSAPIAuthentication no
59+
#GSSAPICleanupCredentials yes
60+
61+
X11Forwarding yes
62+
X11DisplayOffset 10
63+
PrintMotd no
64+
PrintLastLog yes
65+
TCPKeepAlive yes
66+
#UseLogin no
67+
68+
#MaxStartups 10:30:60
69+
#Banner /etc/issue.net
70+
71+
# Allow client to pass locale environment variables
72+
AcceptEnv LANG LC_*
73+
74+
Subsystem sftp /usr/lib/openssh/sftp-server
75+
76+
# Set this to 'yes' to enable PAM authentication, account processing,
77+
# and session processing. If this is enabled, PAM authentication will
78+
# be allowed through the ChallengeResponseAuthentication and
79+
# PasswordAuthentication. Depending on your PAM configuration,
80+
# PAM authentication via ChallengeResponseAuthentication may bypass
81+
# the setting of "PermitRootLogin without-password".
82+
# If you just want the PAM account and session checks to run without
83+
# PAM authentication, then enable this but set PasswordAuthentication
84+
# and ChallengeResponseAuthentication to 'no'.
85+
UsePAM yes

test/test.sh

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#!/bin/bash
2+
set -e
3+
4+
directory=$(pwd)
5+
if [[ $directory == *"/test" ]]; then
6+
cd ..
7+
fi
8+
9+
docker-compose -f ./test/docker-compose.yml build
10+
docker-compose -f ./test/docker-compose.yml up --force-recreate --abort-on-container-exit
11+
12+
CODE=0
13+
docker-compose --file=./test/docker-compose.yml ps -q | xargs docker inspect -f '{{ .State.ExitCode }}' | while read code; do
14+
if [ "$code" == "1" ]; then
15+
CODE=-1
16+
fi
17+
done
18+
docker-compose -f ./test/docker-compose.yml down
19+
exit $CODE

0 commit comments

Comments
 (0)