Skip to main content

Mock SSH Server

Simple SSH Mock Server for E2E testing purposes, e.g. with Testcontainers.

Installation

Python

pip install ssh-mock
# Create commands.yml first
# Start Mock
ssh-mock

Docker

See docker-compose.yml or run:

# Create commands.yml first
# Run Mock Server:
docker run --rm -p 5050:5050 -v ./commands.yml:/usr/src/app/commands.yml ghcr.io/danielhabenicht/mock-ssh:0.2.2
# Try it out
ssh localhost -p 5050
exec echo Hello World!

YAML Configuration

version: "3.7"
commands:
# Simple command
 - command: echo hello
   stdout: "Hello World!"
   returncode: 0
# Command matching regex
 - command: interface.*
   stdout: ""
# Return values from command via JINJA template
 - command: exec echo.*
   stdout_template: "{{command[9:]|trim|trim('''')|trim('\"')}}"
   returncode: 0
# Modify the Hostname
 - command: enable
   stdout: "Password"
   modify_host: HOST#
   returncode: 0
# Use multiple lines
 - command: show users
   stdout: "    Line       User       Host(s)              Idle       Location\n*  1 vty 0     rootuser   idle                 00:00:00\n                                                          example.test.de\n\n  Interface    User               Mode         Idle     Peer Address\n\n"
   returncode: 0
 - command: show interfaces description
   stdout: | 
    Interface                      Status         Protocol Description
    Vl1                            up             up
    Vl308                          up             up
    Gi1/0/1                        up             up       Access Port
    Gi1/0/12                       down           down     Access Port
    Gi1/1/1                        down           down
    Gi1/1/2                        down           down
    Te1/1/3                        down           down
    Te1/1/4                        up             up

Thanks

This was initally a fork of https://github.com/d1618033/fake-ssh. Thanks David for your work!

Metadata

Release files for ssh-mock 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ssh-mock 0.3.1
File Size Uploaded
ssh_mock-0.3.1.tar.gz 8.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ssh-mock 0.3.1
File Interpreter ABI Platform
ssh_mock-0.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 18.4 kB

Release files / ssh_mock-0.3.1.tar.gz

Download URL ssh_mock-0.3.1.tar.gz
Size 8.9 kB
Tags Source
SHA-256 checksum
How to use checksums
20d75d0cc5f59f3d2c9c8432af43d5db247060255e4380b4a625c04b0b9b550a
BLAKE2b-256 checksum
How to use checksums
28480b51b645c4d211e44a0f57699e95afe06231ef515d7199ad55ec4c7535af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.6.1 CPython/3.10.14 Linux/6.5.0-1022-azure

Release files / ssh_mock-0.3.1-py3-none-any.whl

Download URL ssh_mock-0.3.1-py3-none-any.whl
Size 9.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9517a06db876a030280edab191eb91d194d5cb89caf43f4787ef1f9fc0778e62
BLAKE2b-256 checksum
How to use checksums
6e46857cbd1e14f0b31d924023f5c32f636a7ae1fe27739acef4cfd106fc9b14
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.6.1 CPython/3.10.14 Linux/6.5.0-1022-azure

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page