以本机1470
端口(我的sqli-labs)与vps的9023
端口为例。
SSH基本的连接命令是:
ssh username@hostname
这里牵扯到了两台主机,一是执行命令、运行SSH客户端的主机,我们称为本地主机A【Host A】;二是接收连接请求、运行SSH服务器的主机,我们称为远程主机B【Host B】。通过密码或密钥等方式验证后,SSH连接建立,主机A可以使用命令行对主机B实施远程控制。
以上命令中,username是主机B上已登录的用户名,hostname则是主机B的设备名、域名或IP等可以在网络(局域网或互联网)上定位的名称。
实际操作步骤如下:(以本机1470
端口(我的sqli-labs)与vps的9023
端口为例。)
主机连接vps:(主机上发)
ssh -R 9023:localhost:1470 root@vps-ip
-R:指定远程端口转发
9023:自定义端口
localhost:1470:主机ip:主机相关服务的端口(sqli-labs的端口)
root:vps用户名
vps-ip:vps的ip地址,比如46.46.132.184
要输入vps的密码
确保外网也能访问:(在vps上执行)
GatewayPorts yes确保外网也能访问这个vps的9023这个监听端口,而不是只能被vps的localhost访问。
sudo echo 'GatewayPorts yes' >> /etc/ssh/sshd_config
sudo service ssh restart #重启ssh
访问http://vps-ip:9023/
,可以访问到我主机上的sqlilabs。
参考文章:
SSH远程端口转发实战详解 - Xi-iX - 博客园 (cnblogs.com)
Linux中ssh配置详解_linux ssh_穆瑾轩的博客-CSDN博客
Linux端口转发的几种常用方法-腾讯云开发者社区-腾讯云 (tencent.com)
彻底搞懂SSH端口转发命令 - 知乎 (zhihu.com)
[Linux端口转发的九种常用方法_戴国进的博客-CSDN博客](https://blog.csdn.net/JineD/article/details/118254041#:~:text=SSH 端口转发 1 (1) 本地端口转发 ssh -fgN -L,%2Fetc%2Fsysctl.conf %23增加一行 net.ipv4.ip_forward%3D1 %2F%2F使数据转发功能生效 sysctl -p (2)将本地的端口转发到本机端口 )