# 使用 Homebrew, apk, apt, dnf, Nix 安装 endlessh

查看 endlessh 的安装路径、可执行文件、元数据以及面向 AI 代理工作流的安全说明。

## 安装

```sh
sudo av install brew:endlessh
```

其他安装命令:

### macOS

- Homebrew (100%):

```sh
brew install endlessh
```

  证据: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add endlessh
```

  证据: Alpine Linux edge package indexes: endlessh from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install endlessh
```

  证据: Debian stable package indexes: endlessh from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install endlessh
```

  证据: Fedora Rawhide package metadata: endlessh from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#endlessh
```

  证据: nixpkgs package indexes: pkgs/by-name/en/endlessh/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## 软件包事实

- **软件包键:** brew:endlessh
- **软件包管理器:** Homebrew
- **软件包管理器页面:** <https://formulae.brew.sh/formula/endlessh>
- **版本:** 1.1
- **来源摘要:** SSH tarpit that slowly sends an endless banner
- **主页:** <https://github.com/skeeto/endlessh>
- **仓库:** <https://github.com/skeeto/endlessh>
- **上游文档:** <https://github.com/skeeto/endlessh#readme>
- **许可证:** Unlicense
- **源码归档:** <https://github.com/skeeto/endlessh/archive/refs/tags/1.1.tar.gz>
- **已生成:** 2026-07-08T18:08:21+00:00

## 可执行文件

- endlessh (cli)
- endlessh (别名)

## 安装行为

- post-install 钩子: 未定义
- Bottle: 可用 于 arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, sonoma, ventura, x86_64_linux

## 版本和新鲜度

- 页面生成时间: 2026-07-08
- 管理器版本: 1.1
- 本地数据: OK
- 上游仓库: https://github.com/skeeto/endlessh
- 检测到的最新版本: 1.1 (当前)
- 信息: No package-manager update timestamp was available.
## 项目历史与用法

Endlessh is an SSH tarpit: it accepts SSH connections and slowly sends an endless, random pre-authentication banner so automated clients remain tied up for a long time. Its purpose is to move the real SSH daemon elsewhere and let noisy scanners waste time on port 22.

### 项目历史

The author introduced Endlessh publicly in March 2019 as a small C program that exploits the SSH identification-banner phase before cryptographic negotiation. Because the tarpit happens before key exchange, the README notes that Endlessh needs no cryptographic libraries.

The implementation was intentionally simple and portable: a single-threaded C server using `poll()` to handle many delayed clients. The project blog describes this as a resource-minimizing design, trading maximum platform-specific efficiency for low memory use and broad Unix portability.

### 采用历史

Endlessh became a recognizable defensive toy-tool because it addresses a universal server-owner annoyance: constant automated SSH probing. The launch article notes discussion on Hacker News and Reddit and describes real deployments with many trapped clients.

Its adoption niche is operational rather than cryptographic. Users generally run it on the public SSH port, move real SSH to another port, and tune delay, banner length, client limit, logging, and bind family through command-line flags or `/etc/endlessh/config`.

### 使用方式

The default command listens on port 2222, with a 10-second delay between banner lines and a default maximum of 4096 clients. The README and man page document flags for IPv4 or IPv6 binding, delay, config file, max line length, max clients, port, syslog, and verbosity.

A sample configuration file uses OpenSSH-like syntax with `Port`, `Delay`, `MaxLineLength`, `MaxClients`, `LogLevel`, and `BindFamily`. Signals are also part of normal operation: SIGTERM shuts down cleanly, SIGHUP reloads configuration, and SIGUSR1 prints connection statistics.

### 为什么软件包爱好者会关心

Endlessh is package-nerd significant because it is tiny, dependency-light security plumbing with a clear daemon shape. It is easy to package, easy to supervise, and easy to understand from its man page, yet it changes the economics of commodity SSH scanning.

It is also a good example of a Unix package whose README is effectively the operational model: one binary, one config file, no keys, no crypto, and behavior controlled by conventional flags and signals.

### 时间线

- 2019: Endlessh introduced publicly in the author's blog post.
- 2020: Man page date records January 29, 2020.
- 2019-present: Project remains available as a small standalone C SSH tarpit.

### Related projects

- OpenSSH is the operational counterpart users typically move away from the public tarpit port.
- RFC 4253 is the SSH protocol behavior Endlessh relies on for pre-identification banner lines.
- Other tarpits and asyncio-based tarpit sketches are discussed in the author's introductory article.

### 来源

- <https://github.com/skeeto/endlessh>
- <https://raw.githubusercontent.com/skeeto/endlessh/master/README.md>
- <https://raw.githubusercontent.com/skeeto/endlessh/master/endlessh.1>
- <https://nullprogram.com/blog/2019/03/22/>


## 安全说明

broad file, network, media, or database tool signal.

- **Geiger 风险:** blue / 中
- broad file, network, media, or database tool signal


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: /etc/endlessh/config
## 源数据库详情

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** endlessh
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## 其他软件包管理器记录

- Debian apt - endlessh - 1.1-5.1: normalized package name match | Debian stable package indexes: endlessh from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | SSH tarpit that slowly sends an endless connection banner | https://github.com/skeeto/endlessh
- Nix - endlessh: normalized package name match | nixpkgs package indexes: pkgs/by-name/en/endlessh/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - endlessh - 1.1-5: normalized package name match | Ubuntu 24.04 LTS package indexes: endlessh from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | SSH tarpit that slowly sends an endless connection banner | https://github.com/skeeto/endlessh
- apk - endlessh - 1.1-r2: normalized package name match | Alpine Linux edge package indexes: endlessh from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | SSH tarpit that very slowly sends an endless, random SSH banner | https://github.com/skeeto/endlessh
- apk - endlessh-doc - 1.1-r2: normalized package name match | Alpine Linux edge package indexes: endlessh-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | SSH tarpit that very slowly sends an endless, random SSH banner (documentation) | https://github.com/skeeto/endlessh
- dnf - endlessh - 1.1-16.fc44: normalized package name match | Fedora Rawhide package metadata: endlessh from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | SSH tarpit that slowly sends an endless banner | https://github.com/skeeto/endlessh


## 相关链接

- [Source-control packages](https://www.automicvault.com/zh-hans/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Secret-risk packages](https://www.automicvault.com/zh-hans/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/zh-hans/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/zh-hans/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [duo_unix](https://www.automicvault.com/zh-hans/pkg/brew/duo-unix/) - Shares av.db curated category or tags: cli, security, ssh.
- [signmykey](https://www.automicvault.com/zh-hans/pkg/brew/signmykey/) - Shares av.db curated category or tags: cli, security, ssh.
- [skm](https://www.automicvault.com/zh-hans/pkg/brew/skm/) - Shares av.db curated category or tags: cli, security, ssh.
- [sshguard](https://www.automicvault.com/zh-hans/pkg/brew/sshguard/) - Shares av.db curated category or tags: cli, security, ssh.
- [terrapin-scanner](https://www.automicvault.com/zh-hans/pkg/brew/terrapin-scanner/) - Shares av.db curated category or tags: cli, security, ssh.
- [tkey-ssh-agent](https://www.automicvault.com/zh-hans/pkg/brew/tkey-ssh-agent/) - Shares av.db curated category or tags: cli, security, ssh.
- [aide](https://www.automicvault.com/zh-hans/pkg/brew/aide/) - Shares av.db curated category or tags: cli, security.
- [aircrack-ng](https://www.automicvault.com/zh-hans/pkg/brew/aircrack-ng/) - Shares av.db curated category or tags: cli, security.
- [git-credential-oauth](https://www.automicvault.com/zh-hans/pkg/brew/git-credential-oauth/) - Security-sensitive metadata or terminology overlaps. Shared terms: cli, security, that.
- [git-hound](https://www.automicvault.com/zh-hans/pkg/brew/git-hound/) - Security-sensitive metadata or terminology overlaps. Shared terms: cli, security, that.
- [search-that-hash](https://www.automicvault.com/zh-hans/pkg/brew/search-that-hash/) - Security-sensitive metadata or terminology overlaps. Shared terms: cli, security, that.

## Combined YAML source

View the package source record on GitHub. [combined/endlessh.yml](https://github.com/automic-vault/db/blob/main/combined/endlessh.yml)


## 来源

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
