跳转至

SSH隧道


使用SSH将实例中的端口代理到本地,具体步骤为:

Step.1实例中启动您的服务(比如您的服务监听6006端口,下面以6006端口为例)

Step.2本地电脑的终端(cmd / powershell / terminal等)中执行代理命令:

ssh -CNg -L 6006:127.0.0.1:6006 root@123.125.240.150 -p 42151

其中root@123.125.240.15042151分别是实例中SSH指令的访问地址与端口,请找到自己实例的ssh指令做相应替换6006:127.0.0.1:6006是指代理实例内6006端口到本地的6006端口。

注意:执行完这条ssh命令,没有任何日志是正常的,只要没有要求重新输入密码或错误退出

Windows下的cmd/powershell如果一直提示密码错误,是因为无法粘贴,手动输入即可(正常不会显示正在输入的密码)

image-20230313162654913

Step.3 在本地浏览器中访问http://127.0.0.1:6006即可打开服务,注意这里的6006端口要和上述6006:127.0.0.1:6006中的端口保持一致

image-20230313162636526

常见问题

  1. SSH指令在哪里获取?

image-20230313162131911

  1. Windows下执行ssh代理时权限报错?

一般有两种错误

第一种:

It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "C:\\Users\\Administrator/.ssh/id_rsa": bad permissions

解决方法:修改报错信息中的C:\\Users\\Administrator/.ssh/id_rsa文件为只读文件

第二种:

Bad owner or permissions on C:\\Users\\Administrator\\.ssh\\config

解决方法:删除该config文件C:\\Users\\Administrator\\.ssh\\config文件为只读文件

  1. 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端口到本地)

ssh -CNg -L 6006:127.0.0.1:6006 root@region-3.autodl.com -p 48332