ssh nc 转发容器Dockerfile
- 主要用于转发ssh流量或者中间跳板
- Dockerifle IP 目标ip, DPORT目标端口, SPORT nc监听源端口
#生成的新镜像以centos镜像为基础
FROM centos:centos7.7.1908
#升级系统
RUN yum -y update
#安装openssh-server
RUN yum -y install openssl openssh-server rsync net-tools vim nc ncat telnet
#修改/etc/ssh/sshd_config
RUN sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config && \
sed -i 's/#PubkeyAuthentication yes/PubkeyAuthentication yes/' /etc/ssh/sshd_config && \
sed -i 's/#Port 22/Port 12345/' /etc/ssh/sshd_config
RUN mkdir -p /root/.ssh
RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ''
RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N ''
RUN ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
RUN ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N ''
#开放窗口的12345端口
EXPOSE 12345
#设置默认IP地址
ENV IP 127.0.0.1
ENV SPORT 12346
ENV DPORT 12315
#运行脚本,启动sshd服务和转发服务
CMD ["sh", "-c", "/usr/sbin/sshd -D & ncat -lp $SPORT -c 'ncat $IP 12315' --keep-open"]
- 构建启动 docker build ssh:v2 .
docker run -it -d --privileged --env IP=192.168.3.2 --name ssh -p 12345-12350:12345-12350 ssh:v2