我使用的是阿里云的虚拟主机,需要在网络安全配置中,把相应的端口开发。
在阿里云虚拟主机:
参考:
利用SSH 反向代理 ,实现跨局域网连接家里的linux 主机 (树莓派)
# vi /etc/ssh/sshd_config
添加 GatewayPorts yes
sudo service sshd restart
ssh-keygen -t rsa
sudo reboot
在局域网电脑:
参考:
利用SSH 反向代理 ,实现跨局域网连接家里的linux 主机 (树莓派)
linux 安装ssh以及ssh用法与免密登录
# 安装autossh
sudo apt-get install -y autossh
# 生成密钥
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub 12.34.56.78
# 登陆一次阿里云虚拟主机,输入密码后就可以退出
ssh root@12.34.56.78
# 把密钥文件拷贝到阿里云虚拟主机
scp -p ~/.ssh/id_rsa.pub root@12.34.56.78:/root/.ssh/authorized_keys
# 将本地机器的22端口绑定公网服务器的1234端口,其中端口1234是阿里云上开放的端口,root是阿里云登陆用户名,12.34.56.78是阿里云虚拟主机的公网IP,以上根据自己的情况修改
autossh -M 1235 -fCqTnN -R 0.0.0.0:1234:127.0.0.1:22 root@12.34.56.78
此时在服务器上执行命令:
netstat -anp | grep 1234
可以看到正在监听1234端口
tcp 0 0 0.0.0.0:1234 0.0.0.0:* LISTEN 1891/sshd: root
使用
在外网随便找一台机器:
ssh -p 1234 hybors@12.34.56.78
其中hybors是局域网电脑的登陆用户名
本文详细介绍了如何通过SSH反向代理,在局域网内实现对阿里云虚拟主机的远程访问。首先,需在阿里云虚拟主机上进行SSH服务配置,包括开启GatewayPorts选项,重启SSH服务,生成并交换SSH密钥。然后,在局域网内的Linux主机上安装autossh,生成密钥,将密钥拷贝至阿里云虚拟主机。最后,通过autossh命令将局域网主机的22端口绑定至阿里云公网IP上的指定端口,实现跨局域网的SSH连接。

1万+

被折叠的 条评论
为什么被折叠?



