使用 SSH 隧道 实现 SSH 代理
使用SSH将实例中的端口代理到本地,具体步骤为:
-
在实例中启动您的服务(比如您的服务监听6006端口,下面以6006端口为例)
-
在本地电脑的终端(cmd / powershell / terminal等)中执行代理命令:
1
2
ssh -CNg -L 本地端口:127.0.0.1:远程服务端口 root@主机名 -p ssh端口
ssh -CNg -L 6006:127.0.0.1:6006 root@123.125.240.150 -p 42151
其中root@123.125.240.150和42151分别是实例中SSH指令的访问地址与端口,请找到自己实例的ssh指令做相应替换。6006:127.0.0.1:6006是指代理实例内6006端口到本地的6006端口。
执行完这条ssh命令,没有任何日志是正常的,只要没有要求重新输入密码或错误退出
Windows下的cmd/powershell如果一直提示密码错误,是因为无法粘贴,手动输入即可(正常不会显示正在输入的密码)
- 在本地浏览器中访问
http://127.0.0.1:6006
即可打开服务,注意这里的6006
端口要和上述6006:127.0.0.1:6006
中的端口保持一致
常见问题
- SSH指令的各个参数什么含义?
SSH指令复制出来为形如该格式的命令:ssh -p 48332 root@region-3.autodl.com
在ssh -p 48332 root@region-3.autodl.com命令中, 各个参数的含义为:
用户名:root
主机host: region-3.autodl.com
端口号:48332
那么ssh隧道的命令为(假设为代理实例中的6006端口到本地)
1
ssh -CNg -L 6006:127.0.0.1:6006 root@region-3.autodl.com -p 48332
本文由作者按照
CC BY 4.0
进行授权