便宜网站制作公司,福州网站制,wordpress 经典教程,wordpress4.2.19 漏洞文章目录 Ubuntu/Linux SSH 端口转发概述本地端口转发场景一场景二 参考资料 Ubuntu/Linux SSH 端口转发
概述
SSH, Secure Shell 是一种在网络上用于安全远程登录到另一台机器的工具。除了远程登录以外#xff0c;ssh 的端口转发是它的另一项强大功能。通过 ssh 端口转发功… 文章目录 Ubuntu/Linux SSH 端口转发概述本地端口转发场景一场景二 参考资料 Ubuntu/Linux SSH 端口转发
概述
SSH, Secure Shell 是一种在网络上用于安全远程登录到另一台机器的工具。除了远程登录以外ssh 的端口转发是它的另一项强大功能。通过 ssh 端口转发功能可以将一个端口的流量转发到另一个端口实现端口间的数据转发。本文重点介绍本地端口转发local port forwarding其余两种远程端口、动态端口转发会在后续的时间进行补充说明。
关于 ssh 命令的具体用法可以在命令行输入 man ssh 查阅官方手册。命令行输入
man ssh本地端口转发
语法
ssh -L [bind_address:]port:host:hostport [user]destination说明
bind_address: 默认绑定的是 127.0.0.1 地址可以配置成 0.0.0.0 绑定所有网卡地址也可以只配置外部访问的 IP 地址。port: 指定本地的端口用于进行端口转发用host: 需要端口转发过去的主机地址hostport: 需要端口转发过去的主机端口[user]destination: 远程登录到中转的机器
配合 -N 参数不执行远程命令进行端口转发的时候该参数非常有用。
场景一
示例说明 在 Linux Server 服务器上执行以下指令 ssh -NL 172.16.5.136:6667:192.168.10.10:22 172.16.5.136将访问本地机器 172.16.5.136 的 6667 端口的流量转发到 192.168.10.10 的 22 端口。 注意命令执行后处于前台运行状态可以通过 Ctrl-Z 将其转入后台运行。在需要的情况下再使用 fg 命令切换回前台运行状态。 在 Linux Server 服务器上检查是否已开启端口转发功能 netstat -antulp | grep 6667在 Client 上登录到 Inner Device: ssh -p 6667 device_user172.16.5.136在上面的示例中我们配置了 Linux Server 作为中转站进行端口转发外部机器可通过 6667 端口直接访问到内部设备 192.168.10.10 的 22 端口在外部机器与内部设备间建立起了一条通讯链路。通过指定端口可以使用 scp -P 命令与内部设备进行文件传输。
scp -P 6667 local_file device_user172.16.5.136:/path/of/file或者从内部设备传输文件到客户端
scp -P 6667 device_user172.16.5.136:/path/of/file local_file场景二
如果由于网络或权限原因无法在 Linux Server 配置端口转发但是 Client forward 依然能够正常与 Linux Server 通讯的情况下则可以在 Client forward 执行端口转发功能的配置。
示例说明 在 Client forward 执行以下指令 ssh -NL 10.132.5.86:6667:192.168.10.10:22 172.16.5.136将访问本地机器 10.132.5.86 的 6667 端口的流量经过 ssh 安全连接 172.16.5.136 转发到 192.168.10.10 的 22 端口。 注意命令执行后处于前台运行状态可以通过 Ctrl-Z 将其转入后台运行。在需要的情况下再使用 fg 命令切换回前台运行状态。 在 Client forward 服务器上检查是否已开启端口转发功能 netstat -antulp | grep 6667在 Client 上登录到 Inner Device: ssh -p 6667 device_user10.132.5.86Client 与 Inner Device 文件传输的用法参考场景一的说明。
参考资料
[1] 一文彻底搞懂ssh的端口转发