{"id":13505366,"url":"https://github.com/jaksi/sshesame","last_synced_at":"2025-05-14T15:09:48.608Z","repository":{"id":12688480,"uuid":"72550257","full_name":"jaksi/sshesame","owner":"jaksi","description":"An easy to set up and use SSH honeypot, a fake SSH server that lets anyone in and logs their activity","archived":false,"fork":false,"pushed_at":"2024-10-21T23:23:25.000Z","size":7034,"stargazers_count":1629,"open_issues_count":16,"forks_count":100,"subscribers_count":35,"default_branch":"master","last_synced_at":"2025-05-14T15:00:00.110Z","etag":null,"topics":["go","golang","honeypot","security","ssh"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jaksi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-11-01T15:37:45.000Z","updated_at":"2025-05-12T20:06:06.000Z","dependencies_parsed_at":"2023-02-13T04:30:59.749Z","dependency_job_id":"2e70e508-915c-4360-94e7-0f06069c1b14","html_url":"https://github.com/jaksi/sshesame","commit_stats":{"total_commits":357,"total_committers":4,"mean_commits":89.25,"dds":0.09523809523809523,"last_synced_commit":"062795684a859d36a06979e39498c476dcd66970"},"previous_names":[],"tags_count":39,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaksi%2Fsshesame","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaksi%2Fsshesame/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaksi%2Fsshesame/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaksi%2Fsshesame/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jaksi","download_url":"https://codeload.github.com/jaksi/sshesame/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254170046,"owners_count":22026219,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["go","golang","honeypot","security","ssh"],"created_at":"2024-08-01T00:01:03.361Z","updated_at":"2025-05-14T15:09:48.535Z","avatar_url":"https://github.com/jaksi.png","language":"Go","funding_links":[],"categories":["Honeypots","Repositories","Go","\u003ca id=\"c8f749888134d57b5fb32382c78ef2d1\"\u003e\u003c/a\u003eSSH\u0026\u0026Telnet","Apps"],"sub_categories":["Testing / Honeypots"],"readme":"# sshesame\n\nAn easy to set up and use SSH honeypot, a fake SSH server that lets anyone in and logs their activity\n\n`sshesame` accepts and logs SSH connections and activity (channels, requests), without doing anything on the host (e.g. executing commands, making network requests).\n\n[![asciicast](https://asciinema.org/a/VSqzZi1oPA0FhQDyqht22iA6k.svg)](https://asciinema.org/a/VSqzZi1oPA0FhQDyqht22iA6k)\n\n- [Installation and usage](#installation-and-usage)\n  - [From source](#from-source)\n  - [GitHub releases](#github-releases)\n  - [Usage](#usage)\n  - [Docker](#docker)\n    - [CLI](#cli)\n    - [Dockerfile](#dockerfile)\n    - [Docker Compose](#docker-compose)\n  - [systemd](#systemd)\n  - [Configuration](#configuration)\n- [Sample output](#sample-output)\n\n## Installation and usage\n\u003e [!WARNING]\n\u003e The [`sshesame` package](https://packages.debian.org/stable/sshesame) in the official Debian (and derivatives) repositories may be (probably is) outdated.\n\n### From source\n\n```\n$ git clone https://github.com/jaksi/sshesame.git\n$ cd sshesame\n$ go build\n```\n\n### GitHub releases\n\nLinux, macOS and Windows binaries for several architectures are built and released automatically and are available on the [Releases page](https://github.com/jaksi/sshesame/releases).\n\n### Usage\n\n```\n$ sshesame -h\nUsage of sshesame:\n  -config string\n    \toptional config file\n  -data_dir string\n    \tdata directory to store automatically generated host keys in (default \"...\")\n```\n\nDebug and error logs are written to standard error. Activity logs by default are written to standard out, unless the `logging.file` config option is set.\n\n### Docker\n\nImages for amd64, arm64 and armv7 are built and published automatically and are available on the [Packages page](https://github.com/jaksi/sshesame/pkgs/container/sshesame).\n\n\u003e [!IMPORTANT]\n\u003e When using a custom config file, set `server.listen_address` to listen on all interfaces (e.g. to `0.0.0.0:2022`) to ensure Docker port forwarding works.\n\n#### CLI\n\n```\n$ docker run -it --rm\\\n    -p 127.0.0.1:2022:2022\\\n    -v sshesame-data:/data\\\n    [-v $PWD/sshesame.yaml:/config.yaml]\\\n    ghcr.io/jaksi/sshesame\n```\n\n#### Dockerfile\n\n```dockerfile\nFROM ghcr.io/jaksi/sshesame\n#COPY sshesame.yaml /config.yaml\n```\n\n#### Docker Compose\n\n```yaml\nservices:\n  sshesame:\n    image: ghcr.io/jaksi/sshesame\n    ports:\n      - \"127.0.0.1:2022:2022\"\n    volumes:\n      - sshesame-data:/data\n      #- ./sshesame.yaml:/config.yaml\nvolumes:\n  sshesame-data: {}\n```\n\n### systemd\n\n```desktop\n[Unit]\nDescription=SSH honeypot\nAfter=network-online.target\nWants=network-online.target\n\n[Service]\nExecStart=/path/to/sshesame #-config /path/to/sshesame.yaml\nRestart=always\n\n[Install]\nWantedBy=multi-user.target\n```\n\n\n### Configuration\n\nA configuration file can optionally be passed using the `-config` flag.\nWithout specifying one, sane defaults will be used and an RSA, ECDSA and Ed25519 host key will be generated and stored in the directory specified in the `-data_dir` flag.\n\nA [sample configuration file](sshesame.yaml) with default settings and explanations for all configuration options is included.  \nA [minimal configuration file](openssh.yaml) which tries to mimic an OpenSSH server is also included.\n\n## Sample output\n\n```\n2021/07/04 00:37:05 [127.0.0.1:64515] authentication for user \"jaksi\" without credentials rejected\n2021/07/04 00:37:05 [127.0.0.1:64515] authentication for user \"jaksi\" with public key \"SHA256:uUdTmvEHN6kCAoE4RJWsxr8+fGTGhCpAhBaWgmMVqNk\" rejected\n2021/07/04 00:37:07 [127.0.0.1:64515] authentication for user \"jaksi\" with password \"hunter2\" accepted\n2021/07/04 00:37:07 [127.0.0.1:64515] connection with client version \"SSH-2.0-OpenSSH_8.1\" established\n2021/07/04 00:37:07 [127.0.0.1:64515] [channel 1] session requested\n2021/07/04 00:37:07 [127.0.0.1:64515] [channel 1] PTY using terminal \"xterm-256color\" (size 158x48) requested\n2021/07/04 00:37:07 [127.0.0.1:64515] [channel 1] environment variable \"LANG\" with value \"en_IE.UTF-8\" requested\n2021/07/04 00:37:07 [127.0.0.1:64515] [channel 1] shell requested\n2021/07/04 00:37:16 [127.0.0.1:64515] [channel 1] input: \"cat /etc/passwd\"\n2021/07/04 00:37:17 [127.0.0.1:64515] [channel 1] closed\n2021/07/04 00:37:17 [127.0.0.1:64515] connection closed\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaksi%2Fsshesame","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaksi%2Fsshesame","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaksi%2Fsshesame/lists"}