ssh隧道实现内网穿透

作者:杨润炜
日期:2020/1/17 22:57

ssh隧道实现内网穿透

内网穿透的应用场景

客户的机器在内网环境,外部无法直接远程登录过去,但我们又想远程协助对方。如图中虚线的远程方式。
这时可以让客户那边一台可以访问外网的机器B与我们的公网机器建立远程ssh隧道,然后个人电脑再通过公网机器跳转到客户机器B,再通过内网登录机器A进行操作。

为什么用ssh隧道?

相对市面上的远程协作工具,在网速慢的情况下使用命令行会更流畅,虽然远程协作可以命令行,但ssh隧道更简便,操作更简便,跨平台兼容很好。而且ssh还有加密的功能,整体上也更加安全、稳定、可控。

具体实现

开启公网机房机器的ssh网关转发功能

  1. sudo vim /etc/ssh/sshd_config;

GatewayPorts改为yes;然后重启生效sshd服务:

  1. sudo systemctl restart sshd

建立ssh隧道

  1. ssh -NR 0.0.0.0:32222:localhost:22 公网机房机器用户名@219.136.74.12 -v

这时会在公网机房机器上开启32222端口,并将其数据代理到客户B机器的22端口;

个人电脑登录客户B机器

  1. ssh -p 32222 客户B机器的用户名@10.0.2.12

登录客户A机器

使用客户B的ssh直接登录过去

拷贝文件

在个人电脑上拷贝文件到客户B机器

  1. scp -P 32222 your_file 客户B机器的用户名@10.0.2.12:target_path

将your_file拷贝到客户B机器的target_path目录下

注意事项

如果客户B机器是台mac个人电脑,如果在开启远程登录功能,在“系统偏好设置” == “共享” == 勾选“远程登录”,可选择所有用户或指定用户

感谢您的阅读!
如果看完后有任何疑问,欢迎拍砖。
欢迎转载,转载请注明出处:http://www.yangrunwei.com/a/103.html
邮箱:glowrypauky@gmail.com
QQ: 892413924