假设你远程公网主机的 IP 是 123.45.67.89
, 首先登录进你的主机
ssh [email protected] -p 22 -i '/your/ssh/key/file.key'
用 vim
编辑 ssh 服务器的配置文件
sudo vi /etc/ssh/sshd_config
将这个文件里的这些开关打开
AllowTcpForwarding yes
GatewayPorts yes
保存文件退出 vim
。重启 sshd 服务
sudo systemctl restart sshd
至此,远程主机已经准备好了。这时退出远程主机回到本地命令行窗口。
在打算暴露在互联网上的本地文件夹内,执行 python3
命令
python3 -m http.server --bind 127.0.0.1 4080
这就在本地创建了一个 http 文件服务器,监听在 80 端口。
新开一个命令行窗口,执行下列命令,就将本地文件服务器转发到了互联网上,访问端口是 8081
ssh [email protected] -p 22 -i '/your/ssh/key/file.key' -R 0.0.0.0:8081:127.0.0.1:4080
此时世界上任何联网设备上的 web 浏览器都可以访问你共享出去的文件
http://123.45.67.89:8081
当然这些文件不能是重要的机密文件,否则你损失大了。