(关于端口转发这里只选取了较常用的使用场景)
目录
本地端口转发
(将本地的一个端口收到的数据传送到远程服务器)
用法:
ssh -L (本地端口号):localhost:(远程端口号) username@hostname
例如:
ssh -g -L 5000:localhost:22 username@hostname
这条命令可以通过连接本地5000端口的方式连接到远程服务器(这里加-g可以使转发端口5000对所有人开放,否则只有本机可以转发):
ssh -p 5000 username@localhost
远程端口转发
(将本地端口暴露到远程服务器,)
用法:
ssh -R (远程端口):localhost:(本地端口) username@hostname
例如:
ssh -g -R 5000:localhost:22 username@hostname
这样其他计算机可以通过以下方式通过服务器连接到本地计算机:
ssh -p 5000 username2@hostname
这里username2是本地的一个用户名
动态端口转发
(将本地端口的的所有数据发送到远程服务器)
这个方式可以通过连接一个堡垒机从而通过堡垒机访问其身后的计算机,主要用于网络代理,可以访问受保护的内网(前提是有堡垒机访问权限且堡垒机允许转发)
ssh -g -D (本地端口) username@hostname
连接后通过设置本地网络代理(或者软件自身的网络代理设置):
代理地址:localhost 端口:(本地端口)