使用ssh++华为云服务器实现内网穿透

网友投稿 932 2022-05-30

用 ssh 访问一台主机,如果和主机在一个局域网中或者主机拥有公网 IP,就可以使用 ssh 命令直接连接主机的 IP 地址,但是大部分公司和家庭内部都是局域网,并不能给局域网内的每一台主机都分配一个公网 IP,这时候就需要进行内网穿透,才能从外部连接到局域网内的主机。

什么是内网穿透

简单来说内网穿透就是实现不同局域网内的主机间的通信,通俗点讲,当你在宿舍写代码,想访问机房里的服务,但是机房没有外网IP,所有的web服务都是通过内网发布的(192.168.xx.xx等),那你在宿舍就无法访问到这些服务,可你又不想去机房,那么应该怎么办呢?内网穿透就可以帮你解决这个困境。通过内网穿透,你用宿舍的网络就可以访问到机房的web服务。

或者是你用宿舍的网络,可以SSH访问机房的服务器(服务器没有公网IP)。又或者时你你的闲置手机挂了个Termux,想从其他地方远程访问。

具体步骤

1.在服务器上安装ssh-server

1

2

apt-get install openssh-server

#linux云服务器默认已经安装,这里就跳过

2. 在客户端上连接到服务器,并进行映射

1

2

3

4

ssh -R :: user@server_ip

# ssh -R 8888:127.0.0.1:8022 chenbao@115.28.***.187

#将本地的local_ip:local_port 映射到 server 的server_port

#ssh将会在服务器上监听server_por 并将消息转发到 local_ip:local_port

这里我用我手机termux手机示范

3.检查连接状态

1

2

3

netstat -l | grep :8888

#netstat -l | grep :server_port

#可以看到服务器端已经监听了8888端口,但是监听的是localhost的8888 ,只能实现服务器本地访问

我映射的是termux上的8022端口(ssh服务)

在服务器上用ssh连接到termux的ssh服务进行测试 , 能成功连接,说明映射成功

4.实现服务器公网访问

1

2

3

#连接到服务器上 略

#建立任意ip(0.0.0.0)到 localhost(127.0.0.1) 的正向代理

ssh -L 0.0.0.0:8889:127.0.0.0.1:8888 chenbao@localhost

1

#再次查看连接情况 0.0.0.0:8889已经监听,这时即可使用服务器公网ip进行访问?(你可能需要在华为云服务器控制台开放需要映射到公网的端口)

1

2

3

4

5

6

7

8

#将默认配置的有效项 复制到 ~/sshd_config 中

grep "^[^#]" /etc/ssh/sshd_config > ~/sshd_config

#修改~/sshd_config 更改端口,添加选项 GatewayPorts yes (允许直接映射到全局(0.0.0.0))

vim  ~/sshd_config

添加

Port 8882

GatewayPorts yes

#建议注释Subsystem行

1

2

3

/usr/sbin/sshd -f /etc/ssh/sshd_config

#如果提示权限不够 就 sudo /usr/sbin/sshd -f /etc/ssh/sshd_config

#如果没有找不到error: Could not load host key: /etc/ssh/ssh_host_ed25519_key 就先 ssh-keygen -A

5.其他

使用ssh+华为云服务器实现内网穿透

带参数 -N(不执行远程命令. 用于转发端口) -f(在执行命令前退至后台)

1.在服务器上新建一个普通用户 onlynat

2.手写一个shell(误)

1

2

3

4

5

6

7

8

9

#include

using std::string;

using std::cin;

int main()

{

string tmp;

while(cin>>tmp);

return 0;

}

编译上述代码,并将这个程序设置为onlynat的she'l'l

编辑~/sshd_config 添加行 AllowUsers onlynat

重启sshd_cinfig 这时 onlynat 就只能使用手写的shell,而无法执行任何命令了

ssh

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:云部署模型
下一篇:【云原生】【ServiceMesh】简介
相关文章