概述
SSH服务器配置
SSH服务器是部署在阿里云,操作系统Ubuntu 18.04
-
打开服务器端的/etc/ssh/sshd_config文件,增加如下配置:
GatewayPorts yes;打开sshd的网关端口转发功能 -
配置sshd和客户端连接的心跳间隔、心跳超时时间
此配置有两个作用:
- 监测ssh连接状态
此处ClientAliveInterval为5,表示心跳间隔为5秒
ClientAliveCountMax为3,表示连续3次,如果心跳都没有回应的话,即15s后,服务器认为连接异常,服务器随即主动关闭ssh会话。 - 保持ssh连接状态为长连接,因为客户端和服务器之间经过了很多的NAT,所以,需要发送心跳来维持SSH长连接。
- 重启sshd
service ssh restart - 关闭服务器的防火墙,否则服务器不支持端口转发
Ubuntu:
ufw disable
CentOS:
systemctl stop firewalld.service (关闭防火墙)
systemctl start firewalld.service (开启防火墙)
systemctl disable firewalld.service (禁止防火墙自启动)
systemctl enable firewalld.service (防火墙随系统开启启动)
- 配置阿里云安全组,增加端口转发规则
这里增加的规则放开TCP 50000到60000的端口
SSH设备端配置
SSH客户端是嵌入式linux系统,openssh提供ssh功能。
公司阿里云Linux系统IP地址: 121.199.30.133。
- 执行如下命令在SSH服务器端配置反向代理,将本地端口22上的数据转发到公网50000这个端口上。
ssh -CqTfnN -R 0.0.0.0:50000:127.0.0.1:22 root@121.199.30.133
- -C:压缩传输过程中的所有数据,此选项适用于于低速连接。
- -q:安静模式,不打印警告信息。
- -T:禁用伪终端配置。
- -f:ssh后台运行模式。
- -n:stdin重定向到/dev/null,适用于后台运行模式。
- -N:适用于反向代理转发模式下,禁止执行远端发过来的命令。
- 50000:公网端口
- 22:本地端口
- 120.78.194.78:ssh服务器的外网IP地址
- root表示ssh服务器的用户名,执行提示输入的密码也是root用户的密码。
- 设备端执行过反向代理请求之后,可以在服务器端查看SSH连接建立情况,红框标出的是刚建立的SSH反向代理连接。
SSH客户端配置
- 打开xshell或其他支持ssh的客户端。执行如下命令
Linux:
$ ssh root@121.199.30.133 -p 50000
或者
Windows:
ssh root@121.199.30.133 50000
- root表示设备的用户名,密码也是设备端该用户的密码
- 120.78.194.78表示ssh服务器的外网IP
- 50000表示设备端配置的转发端口
- 设备端免密登录服务器
-
客户端使用ssh-keygen生成rsa加密通信的公钥(id_rsa.pub)、私钥(id_rsa)
-
通过ssh-copy-id将公钥(id_rsa.pub)拷贝到服务器
ssh-copy-id root@A.A.A.A
A.A.A.A表示ssh服务器IP地址,root为用户名 -
自动生成、上传公钥
生成秘钥:ssh-keygen -f id_rsa -t rsa -N ‘’
-f 秘钥文件名为id_rsa
-t 定义加密算法为rsa
-N 定义认证密码为空字符串
上传公钥:ssh-copy-id root@121.199.30.133
常用命令
-
netstat -nalt | grep 22
查看当前ssh网络连接 -
lsof -n -i:26741
查看端口为26741的TCP连接,绑定的是哪个进程。
最后
以上就是魁梧服饰为你收集整理的基于阿里云的SSH反向代理环境搭建SSH服务器配置SSH设备端配置SSH客户端配置的全部内容,希望文章能够帮你解决基于阿里云的SSH反向代理环境搭建SSH服务器配置SSH设备端配置SSH客户端配置所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复