4fd3b27fe0
2. 添加 开发机隧道方案
52 lines
1.1 KiB
Markdown
52 lines
1.1 KiB
Markdown
# 杂项
|
|
|
|
|
|
|
|
## 当有如下网络拓扑结构时
|
|
- A: 本地机器
|
|
- B: 开放了SSH连接的机器
|
|
- C: 无外网连接, 与B处于同一内网的机器(或者为B本身, 用于B未开启其他端口的入站权限情况)
|
|
|
|
### ssh 配置文件样例
|
|
文件路径: ~/.ssh/config
|
|
```
|
|
Host A
|
|
HostName x.x.x.x
|
|
User ubuntu
|
|
Port 22
|
|
IdentityFile ~/.ssh/{A_key_file}
|
|
|
|
Host B
|
|
HostName pc.example.com
|
|
User ubuntu
|
|
Port 2222
|
|
IdentityFile ~/.ssh/{B_key_file}
|
|
|
|
Host C
|
|
HostName y.y.y.y
|
|
User root
|
|
Port 22
|
|
IdentityFile ~/.ssh/{C_key_file}
|
|
```
|
|
|
|
### SSH 端口转发
|
|
|
|
```bash
|
|
ssh -N -L {A端口号}:{C}:{C端口号}
|
|
```
|
|
此命令可将对A端口号的访问, 转发至C端口号的访问
|
|
|
|
用例1: ssh -N -L 3306:localhost:3306 B
|
|
|
|
此命令将本地的3306转发到B机器的3306端口, 这样即使B未打开3306端口的入站权限,也可以在本地访问到B机器的3306端口
|
|
|
|
|
|
用例2: ssh -N -L 3306:C:3306 B
|
|
|
|
此命令将本地的3306转发到C机器的3306端口, 这样即使C没有连接外网,也可以依然再本地访问到C机器的3306端口
|
|
|
|
### SSH 跳板连接
|
|
```bash
|
|
ssh -J B C
|
|
```
|
|
此命令可通过B建立到C的ssh连接 |