在公司开发中,为了安全起见,生产环境跟开发环境是相互隔离开来的。也就是说在开发环境网络中无法直接ssh登录到生产环境的机器, 如果需要登录生产环境的机器,通常会需要借助跳板机,先登录到跳板机,然后通过跳板机登录到生产环境。
+-------------+ +----------+ +--------------+
| 开发环境机器 | <---> | 跳板机 | <--> | 生产环境机器 |
+-------------+ +----------+ +--------------+
$ ssh foo@jumphost -----> ssh bar@production_host
正如上面说到的,如果你需要登录生产环境的机器,你需要输入两个命令 。那能不能一个命令就搞定呢?答案是肯定的。
$ ssh -tt foo@jumphost ssh -tt bar@production_host
ProxyCommand
把配置写到config文件里面如果我们把配置写到 ~/.ssh/config 文件里面,这样就更加减轻我们敲键盘的工作了
在 ~/.ssh/config
文件里面加上:
Host production
hostname 192.168.1.100
user bar
ProxyCommand ssh foo@jumphost -W %h:%p
加入之后,直接执行 ssh producton
就可以登录到生产环境。