SSH命令是一个很有用的命令,可以实现跳板、内网穿透、虚拟内网以及代理服务,而且数据的传输是加密的安全的,本文就从一个例子来介绍。
1. SSH Tunnel 的一个demo:
这是一个来自于参考链接[3]的demo
#/bin/bash
ssh -i ~/.keys/somekey.pem \
-L 127.0.0.1:22001:127.0.0.1:22000 \
-R 127.0.0.1:22001:127.0.0.1:22000 \
syncguy@hostb
解释:
syncguy
是外网服务器hostb
上的用户,这里采用秘钥文件认证-i ~/.keys/somekey.pem
,熟悉ssh的都明白,重点在于-L 127.0.0.1:22001:127.0.0.1:22000 -R 127.0.0.1:22001:127.0.0.1:22000
这一部分:- -L 代表本地端口转发,
-L 127.0.0.1:22001:127.0.0.1:22000
也可写作22001:127.0.0.1:22000
,其含义就是“ssh客户端在本地建立socket监听22001端口的数据,然后通过ssh隧道把数据传送到服务器的127.0.0.1
的22000端口(也就是ssh服务端的22000端口),假如目标机器的22000有一