- 跟老男孩学Linux运维:Web集群实战
- 老男孩
- 1378字
- 2023-01-19 14:57:12
3.1.2 远程连接Linux的原理
1.SSH远程连接介绍
当前,在几乎所有的互联网企业环境中,最常用的提供Linux远程连接服务的工具就是SSH软件了,SSH分为SSH客户端和SSH服务器端两部分。其中,SSH服务器端包含的软件程序主要有openssh和openssl,在Linux系统中可以用如下方法查询SSH服务器端工具的安装情况。
[root@www ~]# rpm -qa openssh openssl openssl-1.0.1e-30.el6.x86_64 openssh-5.3p1-104.el6.x86_64
提示:openssh是提供SSH服务的程序,openssl是为SSH提供连接加密的程序。
2.SSH服务器端介绍
启动Linux系统时,默认情况下,SSH服务器端程序就会随系统一起启动,SSH服务是一个守护进程(daemon),它在系统后台永久运行并时刻响应所有来自SSH客户端的连接请求。SSH服务器端的进程名为sshd,负责实时监听远程SSH客户端的连接请求并进行处理,这些请求一般包括公共密钥认证、密钥交换、对称密钥加密和非安全连接等。SSH服务是Linux系统优化时需要保留开机自启动的服务之一。
3.SSH客户端介绍
SSH客户端最常用的工具就是Windows平台上运行的SecureCRT了,该工具安装很简单,按提示一步步操作即可安装完毕,然后打开并注册软件,运行就可以使用了。除SecureCRT客户端软件之外,还有xshell、putty及Linux下的SSH客户端软件。
4.SSH协议介绍
SSH服务器端和SSH客户端之间的交流都是通过SSH协议来实现的。SSH协议是Secure Shell Protocol的简写,由IETF网络工作小组(Network Working Group)制定。在进行数据传输之前,SSH先通过加密技术对联机数据包进行加密处理,然后再进行数据传输,这样就可确保传递的数据安全。
SSH是专为远程登录会话和其他网络服务提供的安全性协议。利用SSH协议可以有效地防止远程管理过程中的信息泄露,在当前的生产环境中,绝大多数企业普遍采用SSH协议服务来代替传统的不安全的远程联机服务软件,如telnet(23端口,非加密的)等。
SSH协议有两个不兼容的版本,分别是SSH 1.x和SSH 2.x。
OpenSSH同时支持SSH 1.x和SSH 2.x。用SSH 2.x的客户端程序不能连接到SSH 1.x的服务程序上,SSH 2.x比SSH 1.x更安全,默认情况下服务器端通过SSH 2.x协议提供服务。
5.SSH客户端和SSH服务器端远程连接原理示意图
图3-1为SSH客户端和SSH服务器端远程连接的形象示意图,表3-1为SSH服务远程连接需要设定的五个要素。
图3-1 SSH通信示意图
表3-1 SSH服务远程连接需要设定的五个要素
6.SSH远程连接故障排查示例
假设远程Linux服务器的IP地址为10.0.0.7,现在要进行连接故障排查。
首先,查看远端服务是否畅通,注意:操作命令的机器为客户端计算机命令行,基本检查思路如下。
(1)利用ping命令检查(客户端执行)
具体命令为:
ping 10.0.0.7 ←此命令适合Linux和Windows
这里通过ping命令从客户端发包到服务器,看看是否有数据包返回,从而确定物理链路是不是通畅。打个比喻就是想开车去玩,先确认到目的地的高速路是否修通了。
提示:也可以通过tracert-d 10.0.0.7(仅适合Windows)或traceroute 10.0.0.7-n(适合Linux)命令跟踪路由情况,这两个跟踪路由的命令一般用于广域网。
(2)利用telnet或nmap命令检查(客户端执行)
具体命令为:
telnet 10.0.0.7 22
或
nmap 10.0.0.7-p 22 仅适合Linux,需要安装该软件包后才能使用。
通过该命令可以查看连接服务器端10.0.0.7的22端口是不是处于开通状态,因为SSH服务默认开启的是22端口。同样可以比喻为想开车去玩,在高速路通了以后,要确认旅游景点是否开放。
(3)检查iptables等防火墙策略是否阻挡了连接(服务器端执行)
具体命令为:
/etc/init.d/iptables status
初学者在学习期间最好关掉iptables,等日后学习了iptables后再开启。打个比喻即确认是否因为天气原因例如大雾或下雪,高速路遇阻无法通行了。
7.SSH远程连接故障排查思路逻辑图
为了让读者能更形象地了解SSH远程连接故障排查思路,特用图解说明,如图3-2所示。
图3-2 SSH远程连接故障排查逻辑图
表3-2为SSH故障排查思路小结。
表3-2 SSH故障排查思路