首页 > 其他分享 >关于autoSSH保持连接的两种方法

关于autoSSH保持连接的两种方法

时间:2024-06-12 17:46:25浏览次数:24  
标签:autossh 两种 主机 端口 autoSSH 监听 ssh 连接

使用ssh端口转发功能进行内网穿透,但是经过的网络稍有不稳定就可能导致连接断开,所以考虑使用工具 AutoSSH,按照默认使用还需要一个监听端口,考虑到安全尽量少开端口,是否可以不用,很多文章都提到了可以用ssh自身保持连接的方法,如下面这篇:

第21篇:SSH隧道持久化配置 - 知乎

其中提到:

------------------------引用开始---------------------

autossh -M 0 -o "ServerAliveInterval 5" -o "ServerAliveCountMax 1" \
-NR 17780:192.168.22.1:5900 [email protected] -p 14747

autossh的关键命令参数,显然上面命令直接使用“-M 0”直接将autossh的监听端口关闭,而直接使用ssh自带的配置选项-o "ServerAliveInterval=5" -o "ServerAliveCountMax=1",上面已经分析了这个配置选项的优势,这里不再废话。

而-M选项,AutoSSH的作者解析到 “它将通过一对监控端口来回发送数据,以便跟踪已建立的连接。” 比如发送的端口30000,那么接收数据的端口就是30001。这是AutoSSH默认监控端口机制,接收端口和发送端口大1。不妨看一下,autossh官方推荐的配置形式:

autossh -M <监听端口> -NR <公网ssh主机的监听端口>:<目的地主机IP>:<目的地主机端口> \
<用户>@<公网ssh主机ip> -p <ssh服务端口>

autossh的监听端口的缺点

首先,你必须确保指定的两个随机端口在主机中是闲置的,难免会发生指定的监控端口被占用的问题。

其次,当目的地主机人为中断autossh,目的地主机是关闭了,但公网ssh主机的autossh监控端口仍然处于监听状态,要等到一段时间后才能停用监听端口,这样在autossh监听端口未超时之前,目的地主机重新启动autossh会导致创建ssh隧道失败。

--------------------------引用结束--------------------

但是实测并不可行,估计是中间经过的交换机路由器防火墙等设备过滤了这种心跳包.

结论:

须使用默认的方式 -M 监听端口 来实现保持连接

 

标签:autossh,两种,主机,端口,autoSSH,监听,ssh,连接
From: https://www.cnblogs.com/dirgo/p/18244392

相关文章

  • 图片和视频都可以去水印啦,ai去水印的简单两种方法
    有时候我们希望移除视频中的水印,但又不擅长使用专业软件,结果反而花费了很多时间和精力。这种情况下该怎么办呢?今天给大家推荐两个方法:一.在线去水印Photopea是一款在线图像编辑器,界面和功能与Photoshop相似,无需下载软件即可使用。其强大的AI去水印功能使得去除图片水印变得非常......
  • [转]用autossh工具进行端口转发
    原文地址:用autossh工具进行端口转发|EscapeAutoSSH是一种用以对SSH登录进行安全地自动化的软件!比如我们在 host2 机器上面部署了很多服务,但是由于某种原因导致我们无法直接 ssh 访问该服务器已经其上服务的对应端口,但是 host3 服务器,既能够访问 host2 服务器,又......
  • Mariadb版本的JDBC驱动,连接云上Mysql出现连接超时
    记录一下一个小问题的解决,Mariadb驱动连接云上Mysql的时候,如果频繁连接偶尔出现读取超时的现象。通过分析报错的堆栈发现,在 org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol#postConnectionQueries这个方法里面有一个判断,usePipelineAuth默认为true,导致设置sock......
  • 怎么只读USB存储设备?教你两种方法
    电脑的USB可以帮助我们连接各种设备,比如移动存储设备。而只读USB则可以保护电脑数据和移动存储设备中的设备。那么,怎么只读USB存储设备?下面我们就一起来了解一下吧。USB设备只读加密USB设备只读加密可以在不影响移动存储设备正常使用的前提下,避免其他人复制、移动、删除其......
  • el-tree设置每个节点的连接线 修改展开图标为加减号(附效果图)
    ::v-deep.treeCont{.el-tree>.el-tree-node:nth-of-type(1){border-top:none!important;color:red;}.el-tree>.el-tree-node:after{border-top:none;}.el-tree:first-child{border-top:none!important;}......
  • 【龙溪系统docker 安装Oracle ,并连接本地数据库】
    安装docker(龙蜥系统)/安装docker/[root@localhostdockers]#cd/etc/yum.repos.d/查看配置文件/sudoyumupdate-y/更新YUM包/[root@localhostdockers]#sudofirewall-cmd--zone=public--permanent--add-port=443/tcp[root@localhostdockers]#sudofirewal......
  • 【龙溪系统docker 安装Oracle ,并连接本地数据库】(下)
    win10系统设置找到tnsnames.ora文件,然后写入:ORCL_DOCKER=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=本机IP地址)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=helowin)))创建数据库角色Oracle/创建用户和角色/SELECT*FROM......
  • 已经解决: 未连接:有潜在的安全问题 Firefox 检测到潜在的安全威胁,并因 github.com 要求
    最近在访问github.com网站的时候,提示安全问题而不能访问,尝试添加例外网站地址后得以解决,分享给需要的朋友。访问github网站出现的问题解决未连接:有潜在的安全问题Firefox检测到潜在的安全威胁,并因github.com要求安全连接而没有继续。  把https://github.com添加到例......
  • ssh的远程连接(Linux篇)
    这里用到的虚拟机时centos7记得提前先把网络连接好,这里选择的是桥接模式1.启动ssh服务#在centos中启动sshd服务sudosystemctlstartsshd2.在windows的cmd命令界面内输入以下内容#sshcentos中的登录用户名@centos中的IP地址[email protected]然后cmd中会出现以......
  • JDBC连接SQL Server(Windows身份验证)
    1.IDEA查看JDK版本2.根据JDK版本查看适合MicrosoftJDBCDriver 的版本系统要求-JDBCDriverforSQLServer|MicrosoftLearn3.下载下载-JDBCDriverforSQLServer|MicrosoftLearn下载早期版本 4.连接前准备a.计算机管理中如图启用所有协议,将其中一个I......