SSH 协议原理、组成、认证方式和过程

SSH 协议原理、组成、认证方式和过程,第1张

SSH 是(Secure SHell protocol) 的简写,安全外壳协议(SSH)是一种在不安全网络上提供安全远程登录及其它安全网络服务的协议。

OpenSSH 是SSH (Secure SHell)协议的免费开源实现。SSH协议族可以用来进行远程控制,或在计算机之间传送文件。而实现此功能的传统方式,如telnet(终端仿真协议)、 rcp ftp、 rlogin、rsh都是极为不安全的,并且会使用明文传送密码。OpenSSH提供了服务端后台程序和客户端工具,用来加密远程控件和文件传输过程的中的数据,并由此来代替原来的类似服务。

在过去我们使用的rsh和telnet,因为包括登录时的ID和密码数据没有加密就传到网络上,存在安全上的问题。即使在内部网上,也有在因特网上的窃取和篡改等危险性。SSH将包括密码在内的所有数据都已进行了加密处理,可以进行更安全的远程 *** 作。在SSH中,由于协议标准的不同而存在SSH1和SSH2两个不同的版本。SSH2是为了回避SSH1所使用的加密算法的许可证问题而开发的(现在这一许可证问题已经不存在了)。TLES 8中作为安装SSH协议的应用程序采用了开放源码的OpenSSH。OpenSSH与SSH1和SSH2的任何一个协议都能对应,但默认使用SSH2。

SSH 主要有三部分组成:

同时SSH协议框架中还为许多高层的网络安全应用协议提供扩展的支持。它们之间的层次关系可以用如下图来表示:

对于SSH这样以提供安全通讯为目标的协议,其中必不可少的就是一套完备的密钥机制。由于SSH协议是面向互联网网络中主机之间的互访与信息交换,所以主机密钥成为基本的密钥机制。也就是说,SSH协议要求每一个使用本协议的主机都必须至少有一个自己的主机密钥对,服务方通过对客户方主机密钥的认证之后,才能允许其连接请求。一个主机可以使用多个密钥,针对不同的密钥算法而拥有不同的密钥,但是至少有一种是必备的,即通过 DSS算法产生的密钥。关于DSS算法,请参考 FIPS-186 文档SSH协议关于主机密钥认证的管理方案有两种,如下图所示:

每一个主机都必须有自己的主机密钥,密钥可以有多对,每一对主机密钥对包括公开密钥和私有密钥。在实际应用过程中怎样使用这些密钥,并依赖它们来实现安全特性呢?如上图所示,SSH协议框架中提出了两种方案。

在第一种方案中,主机将自己的公用密钥分发给相关的客户机,客户机在访问主机时则使用该主机的公开密钥来加密数据,主机则使用自己的私有密钥来解密数据,从而实现主机密钥认证,确定客户机的可靠身份。在图2(a)中可以看到,用户从主机A上发起 *** 作,去访问,主机B和主机C,此时,A成为客户机,它必须事先配置主机B和主机C的公开密钥,在访问的时候根据主机名来查找相应的公开密钥。对于被访问主机(也就是服务器端)来说则只要保证安全地存储自己的私有密钥就可以了。 

在第二种方案中,存在一个密钥认证中心,所有系统中提供服务的主机都将自己的公开密钥提交给认证中心,而任何作为客户机的主机则只要保存一份认证中心的公开密钥就可以了。在这种模式下,客户机在访问服务器主机之前,还必须向密钥认证中心请求认证,认证之后才能够正确地连接到目的主机上。

很显然,第一种方式比较容易实现,但是客户机关于密钥的维护却是个麻烦事,因为每次变更都必须在客户机上有所体现;第二种方式比较完美地解决管理维护问题,然而这样的模式对认证中心的要求很高,在互联网络上要实现这样的集中认证,单单是权威机构的确定就是个大麻烦,有谁能够什么都能说了算呢?但是从长远的发展来看,在企业应用和商业应用领域,采用中心认证的方案是必要的。

另外,SSH协议框架中还允许对主机密钥的一个折中处理,那就是首次访问免认证。首次访问免认证是指,在某客户机第一次访问主机时,主机不检查主机密钥,而向该客户都发放一个公开密钥的拷贝,这样在以后的访问中则必须使用该密钥,否则会被认为非法而拒绝其访问。

在整个通讯过程中,为实现 SSH的安全连接,服务器端与客户端要经历如下五个阶段:

版本号协商阶段,SSH目前包括 SSH1和SSH2两个版本, 双方通过版本协商确定使用的版本

密钥和算法协商阶段,SSH支持多种加密算法, 双方根据本端和对端支持的算法,协商出最终使用的算法

认证阶段,SSH客户端向服务器端发起认证请求, 服务器端对客户端进行认证

会话请求阶段, 认证通过后,客户端向服务器端发送会话请求

交互会话阶段 ,会话请求通过后,服务器端和客户端进行信息的交互

Q1: SSH的版本和区别。

SSH2避免了RSA的专利问题,并修补了CRC的缺陷。SSH2用数字签名算法(DSA)和Diffie-Hellman(DH)算法代替RSA来完成对称密钥的交换,用HMAC来代替CRC。同时SSH2增加了AES和Twofish等对称加密算法。

A1: SSH(Secure SHell)到目前为止有两个不兼容的版本——SSH1和SSH2。SSH1又分为13和15两个版本。SSH1采用DES、3DES、 Blowfish和RC4等对称加密算法保护数据安全传输,而对称加密算法的密钥是通过非对称加密算法(RSA)来完成交换的。SSH1使用循环冗余校验码(CRC)来保证数据的完整性,但是后来发现这种方法有缺陷。

更多内容请参考The SSHv1 Protocol & The SSHv2 Protocol

Q2: 什么是HMAC?

A2: HMAC(Hash Message Authentication Code) ,散列消息鉴别码,基于密钥的Hash算法的认证协议。消息鉴别码实现鉴别的原理是,用公开函数和密钥产生一个固定长度的值作为认证标识,用这个标识鉴别消息的完整性。使用一个密钥生成一个固定大小的小数据块,即MAC,并将其加入到消息中,然后传输。接收方利用与发送方共享的密钥进行鉴别认证等。

Q3: 什么是X11 forwarding?

A3: sh的X11 forwarding特性可以使X client和X server安全地通讯。使用X11 forwarding后,从X client到X Server方向的数据先被送至ssh server,ssh server利用和ssh client的安全通道转发给ssh client,再由ssh client转发给X server,从X server到X client的数据流同理。这里ssh server和ssh client充当了X client和X server间数据的转发器,由于ssh server和X client、ssh client和X server一般在同一台机器上,它们之间是一种安全的进程间通讯,而ssh server和ssh client间的通讯也是安全的,所以X client和X server间的通讯就是安全的。

Q4: 什么是TTY?

A4: 终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。tty是 Teletype的缩写。Teletype是最早出现的一种终端设备,很象电传打字机,是由Teletype公司生产的。设备名放在特殊文件目录/dev/下。

Q5: 简单描述下SSH运行的过程?

一、Android开发的分类:

1、Android客户端应用程序

如新浪微博、网银客户端、凡客、淘宝客户端,快盘客户端。Android在这里的应用还是界面层的东西为主。核心还在WEB。客户端界面很重要,用户体验度很重要。从应用需求上来讲,几乎大一点的网站,都需要有手机客户端程序。

2、Android通用类程序

如基于LBS(基于位置的服务)的应用(这类一般会嵌入到客户端应用程序中),流媒体播放应用。由于移动设备的方便便捷、3G、4G网络的发展,这类应用有不错的前景。

3、Android游戏开发

需要掌握的游戏引擎LGame,游戏框架等。手机上的游戏会是一大块内容,有前途。

4、Android底层开发

需要掌握C、Linux等较底层的东西,发展方向应该是驱动、协议开发,嵌入式开发。

开始学习了解一般从界面、控件开始,这也是大部分人认为简单、比较快上手的原因。学习一段时间后,自己可以定一个方向发展。

二、Android学习需要什么知识点

1、Java基础知识

J2SE:Java基础类(lang包,IO包,util包(集合框架),面向对象,多线程,网络编程)

2、J2EE知识

如果你想从事的Android客户端应用程序的开发,这部分知识是必备的。显然Android客户端只是做的数据的请求、展现,所需的数据在服务器端。

技能点:Tomcat(Weblogic),XML解析,JSON解析,JSP/Servlet。了解SSH。

3、Linux、C语言知识

可以作为你后续发展需要了解的。

Android学习需要打一个好的基础,有一个好的学习路线。

三、Android学习比较好的资料

1、应该说现在市面上的书,入门的还是不少,但一般现在只讲了简单控件的单个用法。

《Android开发范例大全》,《Android应用开发详解》可以参考。想了解游戏的话,可以参考《Android20游戏开发实战宝典》。

2、Android学习视频,也基本上停留在讲简单入门,单个控件用法为主,这方面远不及Java,J2EE,SSH的视频那么丰富。应该讲,你看完了这些,离开发还有很大一段距离。而且,这些视频在讲课方法上不如一些Java的好。现在的视频资料太丰富,从哈佛、斯坦福的课程,到IPHONE开发课程,都有。但全部跟着视频完成所有的学习,有很长一段跟要走。

3、Android的论坛比较多,论坛的缺点就是什么东西得自己一个个查找、去等。自学是一个艰苦而漫长的过程。对你的锻炼和提升也最大。自学有一个缺点,就是容易迷失方向,一个知识点你永远不知道要掌握多深,相关的应用是什么。自学就好比像你一个人在走一条目标很远,前面叉路很多的暗道一样。

4、培训机构学习。如果你时间上允许不失为一种好的选择,可以快速入门。互联网产品(时代)有一个重要特点,就是拿资金换时间。如果能快速入门,到这个行业去发展,就比自己慢慢学习要好得多。毕竟现在Android开发太热了。对开发人员的要求也会逐渐提高。(如既要求能做Android开发,又做IPHONE移植开发)。

对培训机构的选择就比较重要了。

日常工作中需要大量、频繁地使用ssh到服务器查看、拉取相关的信息或者对服务器进行变更。目前公司大量使用的shell,但是随着逻辑的复杂化、脚本管理的精细化,shell已经不满足日常需求,于是我尝试整合工作中的需求,制作适合的工具。 由于管理制度的缺陷,我以工作流程为核心思考适合自己的运维方式,提升工作效率,把时间留给更有价值的事情。 完整代码在最后,请大家参考。

生产:4000+物理服务器,近 3000 台虚拟机。

开发环境:python36、redhat79,除了paramiko为第三方模块需要自己安装,其他的直接import即可。

批量执行 *** 作是一把双刃剑。批量执行 *** 作可以提升工作效率,但是随之而来的风险不可忽略。

风险案例如下:

挂载很多数据盘,通常先格式化硬盘,再挂载数据盘,最后再写入将开机挂载信息写入/etc/fstab文件。在批量lsblk检查硬盘信息的时候发现有的系统盘在/sda有的在/sdm,如果不事先检查机器相关配置是否一致直接按照工作经验去执行批量 *** 作,会很容易造成个人难以承受的灾难。

在执行批量 *** 作时按照惯例:格式化硬盘->挂载->开机挂载的顺序去执行,假设有的机器因为某些故障导致格式化硬盘没法正确执行。在处理这类问题的时候通常会先提取出失败的ip,并再按照惯例执行 *** 作。运维人员会很容易忽略开机挂载的信息已经写过了,导致复写(这都是血和泪的教训)。

所以,为了避免故障,提升工作效率,我认为应当建立团队在工作上的共识,应当遵守以下原则:

当然,代码的规范也应当重视起来,不仅是为了便于审计,同时也需要便于溯源。我认为应当注意以下几点:

1、ssh no existing session,sftp超时时间设置:

在代码无错的情况下大量ip出现No existing session,排查后定位在代码的写法上,下面是一个正确的示例。由于最开始没考虑到ssh连接的几种情况导致了重写好几遍。另外sftp的实例貌似不能直接设置连接超时时间,所以我采用了先建立ssh连接再打开sftp的方法。

2、sftp中的get()和put()方法仅能传文件,不支持直接传目录:

不能直接传目录,那换个思路,遍历路径中的目录和文件,先创建目录再传文件就能达到一样的效果了。在paramiko的sftp中sftplistdir_attr()方法可以获取远程路径中的文件、目录信息。那么我们可以写一个递归来遍历远程路径中的所有文件和目录(传入一个列表是为了接收递归返回的值)。

python自带的os模块中的oswalk()方法可以遍历到本地路径中的目录和文件。

3、多线程多个ip使用sftpget()方法时无法并发。

改成多进程即可。

4、多个ip需要执行相同命令或不同的命令。

由于是日常使用的场景不会很复杂,所以借鉴了ansible的playbook,读取提前准备好的配置文件即可,然后再整合到之前定义的ssh函数中。

同时,我们还衍生出一个需求,既然都要读取配置,那同样也可以提前把ip地址准备在文件里。正好也能读取我们返回的执行程序的结果。

参数说明:

密码认证:

公钥认证:

可以配合 grep,awk 等命令精准过滤。

个人认为 Python 在初中级运维工作中的性质更像是工具,以提升工作效率、减少管理成本为主。可以从当前繁琐的工作中解脱出来,去 探索 更有价值的事情。python 本质上并不会减少故障的产生,所以在不同的阶段合理利用自身掌握的知识解决当前最重要的痛点,千万不要本末倒置。

您好,如果多次尝试使用 SSH 登录思科交换机失败,可能会导致登录失败的日志被记录在交换机的安全系统中,从而锁定登录的配置。这是为了保护设备和网络免受未经授权的访问和攻击。

为了解决这个问题,您可以使用以下步骤:

1 访问交换机的控制台端口,并使用控制台进入特权模式。然后在命令行中输入 "show login failures" 命令来查看最近登录失败的尝试。

2 在控制台上输入 "clear login failures" 命令,来清除已记录的登录失败日志。这将允许您重新尝试 SSH 登录。

3 在重新尝试登录之前,您可能需要检查登录用户名和密码是否正确。还可以测试其他登录方式,例如 Telnet 登录,以确定问题是否与 SSH 协议有关。

4 如果尝试清除登录失败日志无效,则可能需要使用备用控制台或备用管理员账户登录,并使用原始管理员账户清除配置锁定。

需要注意的是,如果重复登录失败,则交换机可能会进一步锁定配置。因此,建议在尝试登录之前检查用户名和密码,并确保您的SSH客户端和交换机配置正确。

linux 如何查看各类用户尝试登陆的时间,ip地址信息等

你可以使用w命令

语法格式如下:

w -[husfV] [user]

下面对参数进行说明:

-h 不显示标题。

-u 当列出当前进程和CPU时间时忽略用户名。这主要是用于执行su命令后的情况。

-s 使用短模式。不显示登录时间、JCPU和PCPU时间。

-f 切换显示FROM项,也就是远程主机名项。默认值是不显示远程主机名,当然系统管理员可以对源文件 作一些修改使得显示该项成为默认值。

-V 显示版本信息。

user 只显示指定用户的相关情况。

解释:

USER —登录的用户名

TTY —登录后系统分配的终端号

FROM—远程主机名,即从哪儿登录来的

LOGIN@—何时登录

IDLE—空闲了多长时间,表示用户闲置的时间。这是一个计时器,一旦用户执行任何 *** 作,该计时器便会被重置

JCPU—和该终端(tty)连接的所有进程占用的时间,这个时间里并不包括过去的后台作业时间,但却包括当前正在运行的后台作业所占用的时间

PCPU—指当前进程(即在WHAT项中显示的进程)所占用的时间

WHAT—当前正在运行进程的命令行

例如:

user3 pts/39 19216805 07Jul13 2:11m 162s 158s ssh 10112

user3用户 2013年7月7日 从IP 19216805 登录到本机,终端号pts/39,已经2小时11分没有 *** 作了,登录后其所有进程占用CPU时间162秒,当前执行的程序是ssh 10112,占用CPU时间158秒

linux服务器如何检查远程用户登陆状态,时间,ip地址等信息

使用命令 last或者w

如何查看域用户登陆域的时间

1 开始->管理工具->域控制器安全策略->本地策略->审核策略->审核登录事件->选择“成功”选项, 关闭“域控制器安全策略”管理单元。

2 在命令行提示符窗口中,输入“GPUDATE/FORCE” ,然后按 “回车” ,立即刷新本地策略;

3 开始->运行”并输入“EVENTVWRMSC” ->安全性->察看登陆信息;

如何查看对方qq登陆地址或ip地址

QQ安全中心

linux (用命令)如何查看当前用户登陆信息?

who 和 w都可以的,也可以用ps -aux|grep ssh看用ssh登陆的用户信息

很基础噢,直接搜索就好,百度知道有些慢的

如何查看QQ好友IP地址信息

今天我为大家带来如何查看QQ好友的IP地址,进而如何查看QQ好友的地址信息,希望分享出来对大家有所帮助。 方法/步骤 1、首先我们右键点击电脑下方任务栏的空白区域,在下拉菜单中找到任务管理器打开。 2、进入任务管理器界面,在上方菜单栏中找到性能选项,然后在性能对话框右下角找到资源监视器打开。 3、进入资源监视器主界面之后,我们在上方的菜单栏里面找到网络选项,点击进入网络详细信息界面。 4、在网络界面我们找到下方的TCP连接选项,然后点击TCP菜单里面的IP地址选项右键点击,选择列。 5、在列属性窗口里我们把,下边的接收,发送,总数选项前面的勾给打上,方便我们获得详细信息,便于搜索。 6、然后找到我们想要查看的QQ好友,与其发送信息进行交谈,等待对方回复我们信息。最后时间对话长一点这样方便我们监测器有效的检测到IP地址信息。 7、待对方回复我们之后,我们在TCP连接中找到QQ主程序,可以在后方的远程地址中看到一个IP地址,这个IP地址就是刚才与我们聊天的好友的IP地址。 8、然后我们把 这个IP地址复制下来。打开百度搜索,在搜索栏目里输入QQ好友的IP地址,点击搜索就可以查看到我们QQ好友在什么地方了。 以上就是如何查看QQ好友的IP地址信息方法介绍,希望能对大家有所帮助!

如何查看QQ好友的IP地址信息

目前没有什么好方法可以查到对方IP

比较简单的方式

就是开启视频聊天 或者传送大文件

这样会建立点对点连接

然后 到任务管理器里面查网络

不过 有时不准。

一、使用专门的IP地址检测工具

最简单的方法,目前用于检测QQ好友IP地址的工具中最出名的有以下两个:

1网络企鹅

软件版本:2001C1

软件大小:637KB

软件性质:共享软件(功能无限制)

适用平台:Windows 9x/Me/2000

“网络企鹅”除能查看好友IP地址,分析所在地理位置外,内部还存储有200多个很酷的聊天贴图和聊天用语,供你复制使用;内置消息炸d,允许多消息循环自动发送以及消息发送间隔时间;屏蔽QQ广告,无论你怎么点,都不会出现广告页面。

首先连接Inter,登录QQ,再运行“网络企鹅”,第一次运行时软件会询问一些基本信息,可以不填,软件启动成功后会在任务栏右端出现**的笑脸图标。

点系统托盘处的小脸图标,从d出的菜单中选择“IP查看”。这时会d出一个没有任何内容的窗口,此时可以给在线好友发一个消息。消息发过去后,他的IP地址、号码、端口等信息会加入到前述的窗口中(如图1)。以后,每得到一个新的好友IP地址信息,“网络企鹅”将自动将其相关信息加入“IP查看”窗口。

2QQ狙击手

软件版本:20

软件大小:1MB

软件性质:共享软件(功能限制)

适用平台:Windows 9x/Me/2000

“QQ狙击手”的功能相当简单,只能用来查看好友的IP地址及其来自何方。第一次运行QQ狙击手时,需在“设置”中点击右边的“打开文件夹”图标,定位到 QQ的安装目录和执行文件(例如:C:\Program Files\Tencent\ QQ2000Bexe),另外还可设置QQ的客户端默认端口等。上述设置完成后,“QQ狙击手”就启动了,其界面如图2),窗口上半部是与你通讯的好友或陌生人的IP地址信息及其来自什么地方。下半部是实时更新的,只要QQ与外界通讯,这部分就会实时显示信息。

如何得到更准确的地址

用以上两个软件获得的好友IP地址是准确无误的,但所示的地理位置不一定准确,可能是IP地址库更新较慢的原因。因此,我知道了好友的IP后,会到“追捕”(下载网址: :zhuibu)中进行查看。由于该软件的IP地址库非常大且很全,更新速度又快,因此得到好友的地理位置是比较准确的。

二、利用防火墙查看IP

你是在网吧上QQ吗?那上面所说的专用QQ好友IP地址查看工具可能无法使用,难道就束手无策了吗?其实我们还可以使用防火墙来获得IP地址,因为一般的网吧为了自身安全一定都会安装防火墙软件,下面以“天网防火墙”为例进行说明:

1运行防火墙程序,在“自定义IP规则”那一栏把“UDP数据包监视”选项打上勾(QQ中的聊天功能使用的是UDP的4000端口作为数据发送和接收端口)。接着点一下工具按钮上那个像磁盘一样的图标,再点“确定”按钮。

2运行QQ,当发信息给好友时,发完信息后再切换到防火墙程序所在窗口,看看当前由防火墙记录下来的日志(点击主界面像铅笔一样的按钮即进入日志界面),其记录格式如下:

[11:07:33] 发送到 202104129251 的 UDP 数据包,

本机端口: OICQ Client[4000] ,

对方端口: OICQ Server[8000]

继续下一规则。

[11:07:33] 接收到 202104129251 的 UDP 数据包,

本机端口: OICQ Client[4000] ,

对方端口: OICQ Server[8000]

继续下一规则。

其中的“202104129251”就是好友的IP地址,接着再配合“追捕”之类的工具软件,就知道好友大概在哪里了。

三、用DOS命令查看IP

如果你所在的网吧连防火墙也没安装,那么就用古老的DOS命令吧,也就是用stat这个命令来查看。

用此方法有个前提条件,那就是一定要用甜言蜜语把想知道IP地址的好友请到QQ的“二人世界”里。然后在MS-DOS窗口里输入如下命令:stat -n ,你将看到如下内容:

Active Connections

Proto Local Address Foreign Address State

TCP 611093478:1200 61154155109:61555 ESTABLISHED

TCP 611093478:2694 6114313634:6667 ESTABLISHED

TCP 611093478

鼠标右键单击电脑左面最下方的工具条,然后点击”启动任务管理器“。

在任务管理器里面点击”资源检测器”。

在资源检测器页面依次点击“网络”,印象里面带“qq”两字的都点上√,然后在侦听端口,右键点击“印象”,然后在d出来的会话框中点击“选择列”。

在选择列会话框中的地址前面打上“√”,然后单击确定“。

然后返回TCP连接,并把这个窗口放大,方便查看IP地址。

然后找qq找一个人聊天,并观测步奏5所示的窗口。

在TCP连接窗口你可以看到一个没有本地IP的地址,那个就是你聊天的人的IP地址,然后你可以通过IP去查找地理位置。

java中如何获得上次登陆的时间和IP地址?

第一次登录时获取其当前时间和当前IP,并存入数据库,每次登录时再获取并在退出时将数据录入数据库中覆盖之间的登录时间和登录IP。查看时通过数据库来查询

ssh连接超时问题解决方案:

1修改server端的etc/ssh/sshd_config

ClientAliveInterval 60 #server每隔60秒发送一次请求给client,然后client响应,从而保持连接

ClientAliveCountMax 3 #server发出请求后,客户端没有响应得次数达到3,就自动断开连接,正常情况下,client不会不响应

2修改client端的etc/ssh/ssh_config添加以下:(在没有权限改server配置的情形下)

ServerAliveInterval 60 #client每隔60秒发送一次请求给server,然后server响应,从而保持连接

ServerAliveCountMax 3 #client发出请求后,服务器端没有响应得次数达到3,就自动断开连接,正常情况下,server不会不响应

3另一种方式:

不修改配置文件

在命令参数里ssh -o ServerAliveInterval=60 这样子只会在需要的连接中保持持久连接, 毕竟不是所有连接都要保持持久的

引用别人的。

第一步:检查是否有pam_tally2so模块。

如果find到了模块则会如上图所示,如果没有就配置软连接过去。

方法如下:

第二步:配置pamd下的sshd认证模块

注意!!!写下面没用,本人测试,必须写在最上面。

第三步:验证测试。

用win10ssh进虚拟机后,故意输入多次错误密码。

之后尝试输入正确的密码,发现无法登录,成功。

再查看登录失败记录

OK成功了。pam_tally2so其他参数如下:

命令行下输入: pam_tally2 -r -u root 清零计数器。

步骤一、修改/etc/ssh/sshd_config文件,找到ClientAliveInterval字段,将该行的内容修改为:

ClientAliveInterval 60

说明:该参数表示CentOS Linux服务器每隔60秒往Putty客户端发一个会话请求,从而继续保持ssh连接。

步骤二、执行以下命令重启sshd服务,使得以上在sshd_config中设置的ClientAliveInterval参数生效:

# /etc/initd/sshd restart

说明:做完前面两步,那么Putty ssh将会和已经建立连接CentOS Linux系统保持长连接了,出于安全考虑,通常我们还是需要设置Putty会话的超时时间的,那就继续下面的 *** 作,设置TMOUT参数。

步骤三、修改/etc/profile文件,在该文件最后增加以下内容:

export TMOUT=10000

说明:

=后面的数字,表示ssh超时时间,单位是秒;

该文件修改后则是对所有系统用户生效,如果是针对某个用户设置,那么就需要修改用户HOME目录下的bash_profile文件,参数配置方法与/etc/profile一致。

以上就是关于SSH 协议原理、组成、认证方式和过程全部的内容,包括:SSH 协议原理、组成、认证方式和过程、学好Android开发!、纯干货!python 在运维中的应用 (一):批量 ssh/sftp等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9716001.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存