FREEDOM251

Freedom251 › Honeypot Software

Endlessh

Free plan LinuxSelf-hosted

Visit Endlessh Alternatives Pricing

Endlessh's own site

What Endlessh is

Endlessh is a self-hosted SSH tarpit for Linux that keeps unwanted SSH clients occupied by slowly sending random banner text. The project describes placing a real SSH server on another port so clients connecting to the tarpit remain there instead. Endlessh is a standalone, single-threaded C program that uses poll() to handle multiple clients. Since its banner is sent before cryptographic exchange, it does not depend on cryptographic libraries.

By default, messages are spaced 10000 milliseconds apart, banner lines are limited to 32 characters, and up to 4096 clients can connect; excess connections wait in a queue. It supports IPv4 and IPv6, with options to bind to one address family. Diagnostics are quiet by default, while repeatable verbosity flags enable standard or debug logging and logs can go to syslog. Configuration syntax is similar to OpenSSH, with a default file at /etc/endlessh/config. SIGTERM shuts down the daemon gracefully, SIGHUP reloads configuration and SIGUSR1 logs connection statistics. The repository identifies the license as the Unlicense.

Who it suits

Endlessh may suit Linux operators who want to divert unwanted SSH clients to a self-hosted tarpit while keeping a real SSH server on another port. It is a network decoy, not a credential lure.

What it does well

  • Free and identified as open source.
  • Supports IPv4 and IPv6.
  • Allows up to 4096 clients by default.
  • Can send logs to syslog.
  • Configuration can be reloaded with SIGHUP.

What to know first

  • Linux and self-hosted platforms are listed.
  • Excess connections wait in the queue.
  • Maximum banner line length defaults to 32 characters.

Limits

The free plan defaults to a maximum of 4,096 clients; excess connections wait in the queue. Its default banner interval is 10,000 milliseconds and its default maximum line length is 32 characters.

Plans

PlanBilled and limitsPrice
EndlesshSSH tarpit · standalone C program · maximum 4096 clients by defaultFree

As github.com lists them, read 4 Oct 2026. The maker's own page has the final word.

Getting started

  1. Open the project repository at https://github.com/skeeto/endlessh.
  2. Use the project's documented build adjustments for your platform; Linux is listed as a supported platform.
  3. Configure the daemon using syntax similar to OpenSSH; the default configuration file is /etc/endlessh/config.
  4. Set the desired network address family, banner interval, line length, and client limit.
  5. Run Endlessh as a self-hosted service and place a real SSH server on another port.
  6. Use verbosity flags or syslog if you want diagnostics.

Overview

Endlessh is a free, self-hosted SSH tarpit for Linux that holds unwanted SSH clients by sending them a stream of random banner text. It suits operators who want a narrow network decoy rather than a broader honeypot; its appeal is simple deployment scope and adjustable connection handling, while its focus is also its main limitation.

Key features

Endlessh sends its banner before cryptographic negotiation, so it does not rely on cryptographic libraries. The project’s intended setup is to move a real SSH server to another port and direct unwanted SSH connections to Endlessh, where clients can remain occupied for hours or days. That is a useful diversion for SSH traffic, not a credential-capture tool: it has no credential lures.

The standalone, single-threaded C program uses poll() to manage multiple clients. Its default delay between banner messages is 10,000 milliseconds, and its maximum line length is 32 characters. The default client ceiling is 4,096; excess connections wait in a queue, so deployments facing heavier traffic should account for queued clients rather than assume every connection is handled immediately.

IPv4 and IPv6 are supported, with options to bind to only one address family. Diagnostics are quiet by default; repeatable verbosity flags enable standard and debug logs, and output can go to syslog. The OpenSSH-like configuration file defaults to /etc/endlessh/config. SIGTERM shuts down the daemon gracefully, SIGHUP reloads configuration, and SIGUSR1 writes connection statistics to the log. Build adjustments are documented for RHEL 6/CentOS 6, Solaris/illumos, and OpenBSD. Project discussion and contributions run through GitHub Issues and Pull Requests.

Pricing

Endlessh is open source under the Unlicense and costs nothing. There is no free trial because the software is free; deployment is self-hosted, so operators manage the host themselves. Its single free plan is the full SSH tarpit, a standalone C program with a default maximum of 4,096 clients—there are no paid tiers or plan-based feature trade-offs.

Platforms

Endlessh is for Linux and self-hosted deployment. Its documentation also covers build adjustments for RHEL 6/CentOS 6, Solaris/illumos, and OpenBSD, which may help operators working on those systems.

Who it's for

Choose Endlessh if you need a focused SSH decoy, can run it on your own infrastructure, and want control over logging, address-family binding, and banner behavior. It is a poor fit if you need credential lures, third-party service integrations, or a broader set of decoy services: its scope is limited to occupying SSH clients, and its documented logging destinations are standard output and syslog.

Pros and cons

  • Pro: Banner delivery precedes cryptographic exchange, avoiding a dependency on cryptographic libraries for this narrow task.
  • Pro: IPv4 and IPv6 support, configurable binding, and adjustable logging give operators practical control over network exposure and diagnostics.
  • Pro: Free, self-hosted software with an Unlicense license has no subscription tier to budget for.
  • Con: The 4,096-client default limit queues excess connections, which matters when planning for higher connection volumes.
  • Con: It has no credential lures or documented third-party integrations, so it cannot serve as a credential-harvesting or integrated monitoring platform.
  • Con: The Linux and self-hosted focus requires operators to provide and maintain their own deployment environment.

Alternatives

Canarytokens is another free option, with a hosted service whose tokens deployed through canarytokens.org are free, as well as Android, iOS, self-hosted, web, and Windows platforms. Choose it when token-based deployment or broader platform availability fits better than an SSH tarpit.

OpenCanary is free, open-source, and self-hosted for Linux and macOS; it may suit operators looking for an alternative self-hosted honeypot.

T-Pot is a free, open-source self-hosted option for Linux, macOS, and Windows, with hardware and network requirements to consider. It is an alternative when those platforms fit, provided its requirements are workable.

Beelzebub offers a free, self-hosted open-source core framework on Linux, with API support. Its free trial may also make it relevant to readers comparing trial availability.

Cowrie is a free, open-source SSH and Telnet honeypot for Linux and self-hosted use, licensed under BSD. Consider it when Telnet coverage or that license is preferable to Endlessh’s focused SSH tarpit.

Honeyd is distributed free of charge under GPL and supports Linux, self-hosted, and Windows use. Honeytrap is free Apache License 2.0 software for Linux and self-managed deployment. MedPot is a free Linux, self-hosted open-source repository that requires Go 1.17 or newer.

For more options, see Honeypot Software.

Verdict

Endlessh is a sensible choice for Linux operators who want a free, configurable way to keep unwanted SSH clients occupied while preserving a real SSH server on another port. Its narrow purpose and lack of credential lures are clear boundaries: choose a broader honeypot if you need more than an SSH tarpit.

Verdict

Endlessh provides a focused SSH tarpit with configurable logging and network binding options. Its default client limit and queued excess connections are worth considering when planning deployment.

Questions

Is Endlessh free?

Yes. Its listed plan costs nothing, and the repository identifies the project as open source under the Unlicense.

What does Endlessh do?

It slowly sends an endless, random SSH banner to keep SSH clients occupied for hours or days. The project describes putting a real SSH server on another port.

Which platforms does it support?

Linux and self-hosted deployment are listed. The project also documents build adjustments for RHEL 6/CentOS 6, Solaris/illumos, and OpenBSD.

What is the default client limit?

The default maximum is 4,096 clients. Additional connections wait in the queue.

Does Endlessh support IPv6?

Yes. It supports IPv4 and IPv6, with options to bind to either address family alone.

What logging options does it provide?

Diagnostics are quiet by default. Verbosity flags enable standard and debug logging, and logs can be sent to standard output or syslog.

Facts from Endlessh's own pages

Banner controls
The delay between messages defaults to 10000 milliseconds, and the maximum banner line length defaults to 32 characters. · github.com, 4 Oct 2026
Build platforms
The project documents build adjustments for RHEL 6/CentOS 6, Solaris/illumos, and OpenBSD. · github.com, 4 Oct 2026
Configuration
The configuration file uses syntax similar to OpenSSH and defaults to /etc/endlessh/config. · github.com, 4 Oct 2026
Connection limit
The maximum number of clients defaults to 4096, and excess connections wait in the queue. · github.com, 4 Oct 2026
Cryptography
The banner is sent before any cryptographic exchange, so the program does not depend on cryptographic libraries. · github.com, 4 Oct 2026
Implementation
Endlessh is a standalone, single-threaded C program that uses poll() to handle multiple clients. · github.com, 4 Oct 2026
Integrations
The README describes logging to standard output or syslog and does not list third-party service integrations. · github.com, 4 Oct 2026
License
The repository identifies its license as the Unlicense. · github.com, 4 Oct 2026
Logging
Diagnostics are quiet by default; repeatable verbosity flags enable standard and debug logging, and logs can be sent to syslog. · github.com, 4 Oct 2026
Network support
Endlessh supports IPv4 and IPv6, with options to bind to either address family alone. · github.com, 4 Oct 2026
Purpose
Endlessh slowly sends an endless, random SSH banner to keep SSH clients occupied for hours or days. · github.com, 4 Oct 2026
Signals
SIGTERM gracefully shuts down the daemon, SIGHUP reloads its configuration, and SIGUSR1 prints connection statistics to the log. · github.com, 4 Oct 2026
Support
The repository provides GitHub Issues and Pull Requests for project discussion and contributions. · github.com, 4 Oct 2026
Use case
The project describes placing a real SSH server on another port so unwanted SSH clients get stuck in the tarpit instead. · github.com, 4 Oct 2026

Where Endlessh stands on Freedom251

Look at these too