最近GET到一个学习方法:了解一个新知识是什么的最快方法,就是去看它官网首页最大的那行字!
一、比如SSH到底是什么?
如下图,答案:
SSH就是一个安全的shell应用程序!
SSH是一个软件包,使系统登陆和文件传输都建立在一个安全的网络上。
![](https://img-blog.csdnimg.cn/65362b1df9314cfe97ab6a57d454d794.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA552h6aWx55qE5aSn5a6d,size_20,color_FFFFFF,t_70,g_se,x_16)
二、比如shell又是什么?
shell没找官网,所以直接百度咯。
shell既是一个应用程序,提供一个界面,使用户可以通过命令行访问操作系统内核。
shell也是一种脚本语言,常称为shell script,同python、js等脚本语言一样,可以使用if、while等组合逻辑没那么复杂的命令行,实现一些功能。
三、【问题】最近使用ssh跨服务器连接时,返回如下报错:
Timeout, server not responding.
1. 原因:客户端会向服务端发送alive消息,判断服务端的状态。而服务端此时还没启动好,,客户端将在ServerAliveCountMax*ServerAliveInterval秒后断开连接,并返回上述报错。
如果一定要等服务端启动好连接上去,可以把这两个参数设置大点:
方式一:vi /etc/ssh/ssh_config,在客户端配置文件里修改这俩参数,并重启ssh。
方式二: 在ssh命令后直接加参数,如ssh -o ServerAliveInterval=100 -o ServerAliveCountMax=100 1.2.3.4
2. ssh连接相关的配置含义:
a. 服务端配置,位于/etc/ssh/sshd_config:
clientaliveinterval 300
clientalivecountmax 2
指我们300秒向客户端发送一次alive信息,在clientaliveinterval*clientalivecountmax 秒内客户端没有响应,客户端被断开,并且服务端清理客户端的连接.
b. 客户端配置,位于/etc/ssh/ssh_config::
serveraliveinterval 300
serveralivecountmax 2
c. 同时将客户端/服务端的tcpkeepalive选项关闭:
tcpkeepalive no