首先创建一个目录名称随意
进入目录,创建Dockerfile
endlessh_config
compose.yaml
3个文件
文件内容如下(其中endlessh_config
是配置文件,可根据自己喜好调整)
Dockerfile
FROM alpine:latest
# 安装必要的软件包
RUN apk add --no-cache build-base git
# 克隆Endlessh的源码并构建
RUN git clone https://github.com/skeeto/endlessh.git /endlessh && \
cd /endlessh && \
make
# 将Endlessh的二进制文件复制到一个目录中
RUN mkdir -p /usr/local/bin && \
cp /endlessh/endlessh /usr/local/bin/
# 创建一个目录来存放配置文件
RUN mkdir -p /etc/endlessh
# 复制配置文件到容器中
COPY endlessh_config /etc/endlessh/endlessh.conf
# 暴露端口
EXPOSE 22
# 运行Endlessh
ENTRYPOINT ["/usr/local/bin/endlessh"]
CMD ["-f", "/etc/endlessh/endlessh.conf"]
endlessh_config
Port 22
Delay 10000
MaxLineLength 32
LogLevel 1
BindFamily 4
compose.yaml
services:
endlessh:
build: .
ports:
- "22:22"
volumes:
- ./endlessh_config:/etc/endlessh/endlessh.conf:ro
修改系统ssh的端口号
修改/etc/ssh/sshd_config
将#Port 22
这一行的#号去掉,端口改成自定义端口,例如2222,改完变成Port 2222
执行systemctl restart sshd.service
使修改生效
保险起见,打开另一个终端用修改后的端口测试一下是否正常
启动endlessh
执行docker compose up -d
,开始生成镜像然后启动容器,第一次过程会有点久,耐心等待
验证效果
执行docker compose logs -f
可以实时输出日志。如果有ssh连接,会有日志输出,如果没有我们可以用另一个终端连接22端口