我需要创建一个 SSH 隧道来连接到 Azure 虚拟机中托管的 webmin gui。我可以从 PuTTY 通过 ssh 连接到虚拟机。私钥运行并可以建立连接。但是当我尝试创建隧道来访问 webmin 时,我不能在浏览器中抛出 localhost。
尝试用PuTTY建立隧道:
当我点击打开时,我可以在数字
myuser
时连接到ssh终端,但在浏览器中无法使用localhost:10005
“ERR_CONNECTION_REFUSED”访问webmin
我尝试使用 plink 命令:
plink.exe mykey.ppk -L 10005:localhost:10000 [email protected]
但得到的回应是:
Unable to open connection:
Host does not exist
我尝试使用 Powershell 中的 sshopen 客户端使用以下命令:
ssh -L 10005:localhost:10000 [email protected]
但是服务器的响应是:
[email protected]: Permission denied (publickey).
缺少什么? 谢谢您的帮助
最后我使用plink.exe找到了解决方案 正确的命令是这样的:
"C:\Program Files\PuTTY\plink.exe" -ssh serverUser@serverIP -P 22 -i "path-to-my-key\myprivatekey.ppk" -C -T -L 10000:127.0.0.1:10000 -N
在此命令中选项有:
-C:启用数据压缩。
-T:避免打开终端。
-L:转发本地端口
-N:不在远程机器中执行命令
可以直接在Windows的PATH变量环境中设置plink.exe路径:
set PATH=%PATH%;C:\Program Files\PuTTY\plink.exe
这样就不用每次在命令中都写plink.exe的路径了。