docker-ssh-forwarding/README.md

43 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# docker-ssh-forwarding
在Docker中使用SSH将远程服务器内部端口转发到本地内部网络
适合将生产环境中为了安全而不开放外部访问的端口通过SSH安全转发功能映射到内部网络指定主机和端口上。
## 凭证
使用密钥登录,请提前将运行的用户的凭证放到远程服务器上(ssh-copy-id)
可以先启动容器后在容器内部使用
```
ssh-copy-id -p 222 user@host
# 若构建镜像时没有生成密钥凭证可先生成(容器内部执行)
ssh-keygen -t rsa -b 4096 -N "" -f /root/.ssh/id_rsa
```
## 构建
```
docker build . -t sshforwarding
```
## docker-compose.yml
```
version: "3"
services:
sshforwarding:
image: sshforwarding
container_name: sshforwarding
ports:
- 3307:3307
volumes:
- .ssh:/root/.ssh
environment:
REMOTE_USER: 远程服务器用户名
REMOTE_HOST: 远程服务器主机名
REMOTE_PORT: 远程服务器SSH端口
REMOTE_LISTEN_PORT: 需要转发的服务器端口
LOCAL_LISTEN_PORT: 本地监听端口
LOCAL_LISTEN_HOST: 本地监听地址
stdin_open: true
tty: true
```