Docker containers with ssh servers
Find a file
Ivan Sherov-Ignatev e26a97bee9
Merge pull request #89 from termius/feature/auth-banner
Add host to test auth banner
2026-04-02 13:15:43 +02:00
.github Add GitHub template 2020-10-23 11:03:02 +13:00
agent-forwarding-disabled Update ubuntu to 22 to enable WebAuthn 2023-12-29 12:05:23 +13:00
anomaly-exec Install vttest to host farms 2024-01-18 09:36:42 +13:00
authykey Install vttest to host farms 2024-01-18 09:36:42 +13:00
authypass Install vttest to host farms 2024-01-18 09:36:42 +13:00
client-cert Add new hosts. Refactor docker-compose. 2024-04-11 23:08:46 +02:00
dropbear Install vttest to host farms 2024-01-18 09:36:42 +13:00
gateway-ports Install vttest to host farms 2024-01-18 09:36:42 +13:00
hostkey-order Merge pull request #55 from termius/feature/add-vttest 2024-02-09 11:50:06 +13:00
http-proxy Fix starting http proxy with authentication 2024-02-08 14:46:42 +13:00
keyboard-interactive-custom Add Ubuntu 24.04 host 2024-06-10 10:35:18 +02:00
keyboard-interactive-edgecases Install vttest to host farms 2024-01-18 09:36:42 +13:00
keyboard-interactive-pass Install vttest to host farms 2024-01-18 09:36:42 +13:00
keys Add encrypted ML-DSA keys 2025-12-11 23:18:58 +01:00
mosh Install vttest to host farms 2024-01-18 09:36:42 +13:00
multiple-auths Install vttest to host farms 2024-01-18 09:36:42 +13:00
openssh-dev Stick to permanent OpenSSH revisions 2026-02-24 15:48:13 +01:00
openssh10 Add OpenSSH 10 host 2025-04-25 22:35:11 +02:00
oqs Stick to stable revisions for OQS host 2026-02-24 14:24:26 +01:00
otp Add a quick guide to README on how to find a one-time password in the file and enter it 2025-08-22 12:24:49 +12:00
pass Add ssh server with 2FA: password and otp 2024-02-15 23:50:10 +13:00
raspbian Install vttest to host farms 2024-01-18 09:36:42 +13:00
rocky Fix review issues 2024-04-22 16:45:01 +02:00
sftp-disabled Install vttest to host farms 2024-01-18 09:36:42 +13:00
socks5 Update ubuntu to 22 to enable WebAuthn 2023-12-29 12:05:23 +13:00
sshd_configs_raw Add host to test auth banner 2026-04-01 16:15:01 +02:00
telnet Update ubuntu to 22 to enable WebAuthn 2023-12-29 12:05:23 +13:00
telnet-echo-issue Add telnet host which emulates double echo issue 2026-02-04 23:32:41 +01:00
tinyssh Update ubuntu to 22 to enable WebAuthn 2023-12-29 12:05:23 +13:00
ubuntu-old Add old Ubuntu hosts 2024-06-17 20:29:10 +02:00
yubikey-pam Install vttest to host farms 2024-01-18 09:36:42 +13:00
.gitignore Add keys to otp ssh server. 2016-03-25 12:26:17 +06:00
CONTRIBUTING.md Rename project to hosts-farm in text files 2017-06-08 10:32:56 +06:00
docker-compose.yml Add host to test auth banner 2026-04-01 16:15:01 +02:00
Dockerfile Add host to test auth banner 2026-04-01 16:15:01 +02:00
entrypoint.sh Add host to test auth banner 2026-04-01 16:15:01 +02:00
README.md Add hosts based on OpenSSH development branch 2026-02-16 18:52:45 +01:00
sanitize-auth-log.sh Add SOCK5, putty keys, channels logging 2021-06-28 21:47:31 +12:00
zshrc Add zsh and powerline to all services 2022-02-09 16:16:26 +13:00

Termius hosts farm

Repository with Docker containers with ssh servers.

Supported authentication options:

  • only identity file;
  • only password;
  • authy and identity file;
  • authy and password;
  • one time password;
  • YubiKey with methods: public key (GPG), keyboard-interactive (PAM);

Run

To run ssh/telnet servers you'll demand on Docker and docker-compose.

docker-compose up

How to add more options

When you want to add new server configuration follow step below:

  • create new configuration directory with meaningful Name in repository root;
  • add Dockerfile and to new configuration directory;
  • add new service with the same configuration name to docker-compose.yml;
  • use environment variable in docker-compose.yml where it's needed.

Table of available hosts

Service Port User Password Key
pass 2201 sa pass -
key 2202 sa - rsa key
encrypted rsa key
authykey 2203 sa - rsa key
authypass 2204 Authy users authy_token -
otp 2205 sa - README
keys
ed25519 2206 sa - ed25519 key
ecdsa-nistp256 2207 sa - ecDSA 256 key
OpenSSH ecDSA 256 key
ecdsa-nistp384 2218 sa - ecDSA 384 key
ecdsa-nistp521 2219 sa - ecDSA 521 key
hmac-sha2-256 2208 sa - rsa key
hmac-sha2-512 2209 sa - rsa key
chacha20-poly1305_at_openssh.com 2210 sa - rsa key
aes128-ctr 2211 sa - rsa key
aes192-ctr 2212 sa - rsa key
aes256-ctr 2213 sa - rsa key
curve25519-sha256 2214 sa - rsa key
diffie-hellman-group-exchange-sha256 2215 sa - rsa key
telnet 2216 sa pass -
chain1 2217 chain1 1 -
chain2 - chain2 - rsa key
chain3 - chain3 - rsa1 key
yubikey-pam 2221 sa - -
agent-forwarding-disabled 2222 sa - rsa key
gateway-ports 2223 sa - rsa key
mosh 2224, 60001-60010 (udp) sa - rsa key
multiple-auths 2225 sa pass rsa key
keyboard-interactive-pass 2226 sa pass -
sftp-disabled 2227 sa - rsa key
pf-disabled 2228 sa - rsa key
pf-case-jump 2230 qa - rsa key
client-cert 2231 sa - rsa key, cert
ed25519 key, cert
ecdsa key, cert
mosh-unstable 2232, 60021-60030 (udp) sa - rsa key
mosh-pass 2233, 60011-60020 (udp) sa pass -
export-key 2234 sa pass -
disabled-rsa-sha 2235 sa - rsa key
dropbear-key 2236 sa - rsa key
putty 2237 sa - putty key
encrypted putty key
encrypted putty3 key
tinyssh 2238 sa - ed25519 key
keyboard-interactive-custom 2239 sa - -
dsa 2240 sa - dsa key
OpenSSH dsa key
rsa-pkcs8 2241 sa - rsa-pkcs8 key
encrypted rsa-pkcs8 key
dropbear-ed25519 2242 sa - rsa key
dropbear-ecdsa 2243 sa - rsa key
hostkey-rsa 2255 sa pass -
hostkey-ed25519 2256 sa pass -
hostkey-multi 2257 sa pass -
pass-otp 2258 sa pass README
keys
key-ssh-8.2 2259 sa - rsa key
encrypted rsa key
key-ssh-7.6 2260 sa - rsa key
encrypted rsa key
hmac-sha1 2261 sa - rsa key
hmac-sha1-etm 2262 sa - rsa key
hmac-sha2-256-etm 2263 sa - rsa key
hmac-sha2-512-etm 2264 sa - rsa key
hmac-sha1-96 2265 sa - rsa key
hmac-sha1-96-etm 2266 sa - rsa key
hmac-md5 2267 sa - rsa key
hmac-md5-etm 2268 sa - rsa key
hmac-md5-96 2269 sa - rsa key
hmac-md5-96-etm 2270 sa - rsa key
umac-64 2271 sa - rsa key
umac-64-etm 2272 sa - rsa key
umac-128 2273 sa - rsa key
umac-128-etm 2274 sa - rsa key
aes128-gcm 2275 sa - rsa key
aes256-gcm 2276 sa - rsa key
aes128-cbc 2277 sa - rsa key
aes192-cbc 2278 sa - rsa key
aes256-cbc 2279 sa - rsa key
ecdh-sha2-nistp256 2280 sa - rsa key
ecdh-sha2-nistp384 2281 sa - rsa key
ecdh-sha2-nistp521 2282 sa - rsa key
diffie-hellman-group1-sha1 2283 sa - rsa key
diffie-hellman-group14-sha1 2284 sa - rsa key
diffie-hellman-group14-sha256 2285 sa - rsa key
diffie-hellman-group16-sha512 2286 sa - rsa key
diffie-hellman-group18-sha512 2287 sa - rsa key
diffie-hellman-group-exchange-sha1 2288 sa - rsa key
rsa-sha2-256 2289 sa - rsa key
rsa-sha2-512 2290 sa - rsa key
client-cert-sha1 2291 sa - user key
user certificate
key-auth-tries-1 22021 sa - rsa key
encrypted rsa key
key-auth-tries-2 22022 sa - rsa key
encrypted rsa key
key-ssh-10 2299 sa - rsa key
encrypted rsa key
key-oqs 22100 sa - rsa key
encrypted rsa key
ML-DSA-44 key
ML-DSA-65 key
ML-DSA-87 key
encrypted ML-DSA-44 key
encrypted ML-DSA-65 key
encrypted ML-DSA-87 key
ssh-dev-1 22105 sa - rsa key
ssh-dev-2 22106 sa - rsa key

Passphrase for keys/id_rsa_encrypted is termius-test.

Passphrase for keys/putty_rsa_encrypted is test. Passphrase for keys/putty3_rsa_encrypted is testppk3. Passphrase for encrypted ML-DSA keys is termius.

Table of proxy hosts

Hostname Port Availability Proxied hosts
http-proxy 8888 global pass, key
http-proxy-chain1 8889 global chain1
http-proxy-authenticated 8890 global pass, key
http-proxy-chain2 3128 from chain1 chain2
http-proxy-chain3 3128 from chain2 chain3

HTTP proxy http-proxy-authenticated credentials are username termius and password test.

Table of Port Forwarding Case

Hostname Port Availability Authentication
pf-case-keystorage, 172.25.1.101/24 22 from the jump host ed25519 key
pf-case-target, 172.25.2.101/24 22 from the jump host get a key from pf-case-keystorage ~/.id_rsa