利用云主机做 ssh 反向隧道

简介:

【背景】

  有三台主机 A、S、B,系统均为Linux。主机 A 和主机 B 在各自不同的内网,主机 S 为一台具有公网 IP 的云主机。主机 A 与主机 B 都可以通过 ssh 连接主机 S。如下图:

wKiom1lq-UPgXFhJAAAKCcNjZD8090.png

【需求】

  主机 A 需要通过主机 S 连接主机 B。

【方法】

1、设置主机 S。

1.1、编辑 /etc/ssh/sshd_config 文件,在里面修改或添加:

1
GatewayPorts yes

1.2、重启 sshd 服务。

1
sudo  service sshd restart

2、设置主机 B。

2.1、方式一:用 ssh

1
2
3
4
ssh  -fNR portS:localhost:22 userS@pubIpS
# portS 是主机 S 的某个开放端口
# userS 是主机 S 的一个用户
# pubIpS 是主机 S 的公网IP

2.2、方式二:用 autossh

1
2
3
autossh -M 3456 -NR portS:localhost:22 userS@pubIpS -p22
# -M 参数没大弄明白,大概是通过这个端口监听以便自动重连吧
# 输入密码后可以用 Ctrl-Z 放到后台

3、主机 A 通过 ssh 连接上主机 S 后。这样连接主机 B:

1
2
3
ssh  userB@localhost -p portS
# userB 为主机 B 的用户
# portS 与上一步的 portS 是同一个端口


相关阅读:SSH反向连接及Autossh


*** walker ***

本文转自walker snapshot博客51CTO博客,原文链接http://blog.51cto.com/walkerqt/1947976如需转载请自行联系原作者


RQSLT

相关文章
|
16天前
|
Java 数据库连接 网络安全
JDBC常用特性-SSH隧道连接
JDBC常用特性-SSH隧道连接
|
安全 关系型数据库 MySQL
Mysql SSH隧道连接使用方法
Mysql SSH隧道连接使用方法
1735 0
|
2月前
|
网络安全 虚拟化 Docker
SSH后判断当前服务器是云主机、物理机、虚拟机、docker环境
结合上述方法,您可以对当前环境进行较为准确的判断。重要的是理解每种环境的特征,并通过系统的响应进行综合分析。如果在Docker容器内,通常会有明显的环境标志和受限的资源视图;而在云主机或虚拟机上,虽然它们也可能是虚拟化的,但通常提供更接近物理机的体验,且可通过硬件标识来识别虚拟化平台。物理机则直接反映硬件真实信息,较少有虚拟化痕迹。通过这些线索,您应该能够定位到您所处的环境类型。
66 2
|
7月前
|
安全 Linux 网络安全
|
6月前
|
网络协议 安全 Linux
【内网安全】隧道技术&SSH&DNS&ICMP&SMB&上线通讯Linux&Mac
【内网安全】隧道技术&SSH&DNS&ICMP&SMB&上线通讯Linux&Mac
105 0
|
7月前
|
网络安全
openstack 使用ssh远程管理云主机
在阿里云平台上,为云主机分配和配置浮动IP涉及以下步骤:首先,在“网络”部分分配一个公共IP,并将其关联到已创建的云主机。接着,在“浮动IP”页面确认绑定成功。然后,进入安全组,为默认安全组添加允许ping和SSH的新规则。通过控制台ping浮动IP以测试连通性。最后,从宿主机修改云主机的hostname并使用SSH登录。至此,SSH登录设置完成。
192 2
openstack 使用ssh远程管理云主机
|
7月前
|
Ubuntu 网络安全 数据安全/隐私保护
使用SSH隧道将Ubuntu云服务器Jupyter Notebook端口映射到本地
这样,你就成功地将Ubuntu云服务器上的Jupyter Notebook端口映射到本地,使你能够通过本地浏览器访问并使用Jupyter Notebook。
502 1
|
安全 网络安全
SSH隧道端口转发详解
需要在目标主机修改如下配置文件内容
351 0
|
域名解析 网络协议 安全
【内网安全-隧道技术】SMB、ICMP、DNS隧道、SSH协议
【内网安全-隧道技术】SMB、ICMP、DNS隧道、SSH协议
1035 0
【内网安全-隧道技术】SMB、ICMP、DNS隧道、SSH协议
|
安全 关系型数据库 MySQL
CentOS7云主机部署Fail2ban阻断SSH暴力破解
CentOS7云主机部署Fail2ban阻断SSH暴力破解
412 0
CentOS7云主机部署Fail2ban阻断SSH暴力破解