Endlessh的正确食用方法:防止那些坏家伙连接你的SSH

AKHYui2019-03-25 09:47:00工具搭建
SSH最近出了个新的玩法,使用Endlessh,对于猜ssh密码的人,能够缓慢的随机的无限的发送SSH banner,可以锁定数小时甚至数天,可以将真正的SSH服务放在另一个端口上,在SSH被暴破时并不会打扰到真正的服务器。

那么如何配置这个Endlessh呢?

本教程使用ArchLinux系统环境

我们可以去githubopen in new window上下载到

pacman -S git

git clone https://github.com/skeeto/endlessh.git

cd endlessh/

用ls查看目录里的文件发现里面的文件

[root@archlinux endlessh]# ls

Dockerfile  Makefile  README.md  UNLICENSE  endlessh.c	util

我们可以通过docker或者make来安装这个程序(本次使用make)

#安装make

pacman -S make

我们需要安装gcc

pacman -S gcc

然后make

make

此时目录中有这些文件

[root@archlinux endlessh]# ls

Dockerfile  Makefile  README.md  UNLICENSE  endlessh  endlessh.c  util

在/etc中创建一个目录/etc/endlessh然后创建config文件(config文件是配置文件)

mkdir /etc/endlessh

touch /etc/endlessh/config

然后编辑config文件

vim /etc/endlessh/config

github中的作者给出了示例配置文件(可以参考)

# 监听新ssh连接端口,有防火墙的请在防火墙中打开2222端口

Port 2222



# 随机SSH banner每行之间的毫秒数

Delay 10000



# 每行随机长度的最大值

MaxLineLength 32



# 一次接受的最大连接数

MaxClients 4096



# 日志详细级别(0:少 1:标准 2:多)

#   0 = Quiet

#   1 = Standard, useful log messages

#   2 = Very noisy debugging information

LogLevel 0

编辑完成后运行这个程序

./endlessh -f config

要保持后台运行可以使用setsid

setsid ./endlessh -f config

endlessh默认情况下并不会输出日志消息

可以通过运行

./endlessh -v >endlessh.log 2>endlessh.err

来将日志和错误日志生成在endlessh.log里和endlessh.err里

如果运行后报错返回

Address family not supported by protocol

请查看grub配置文件中是否禁用了IPV6,如果禁用了请取消禁用

Last Updated 9/17/2025, 7:13:55 AM