admin 管理员组

文章数量: 887007

第3章 远程连接管理Linux实践

3.1 远程连接Linux系统管理

3.1.1 为什么要远程连接Linux系统

在很多机构的培训教学中,教员通常会直接在虚拟机界面或者虚拟机里的图形界面讲解知识,这也就导致了非常多的学生只熟悉如何在虚拟机界面上操作,对实际的工作场景却并不熟悉。事实上,在实际的工作场景中,虚拟机界面或物理服务器本地的窗口都是很少能够接触到的,因为服务器安装完系统之后,都要拉到IDC机房托管,如果是购买了云主机,那就更接触不到服务器本地显示器了,此时只能通过远程连接的方式管理Linux系统。因此,在装好Linux系统之后,学习Linux运维的第一步应该是配置好客户端软件远程连接Linux系统进行管理。

另外,需要指出的是,学习Linux的最佳方式就是利用虚拟机来进行学习,而不是安装双系统,或者直接抛弃Windows系统改装Linux系统。通过模拟生产环境来进行学习是非常有必要的,而虚拟机环境正是上面几种方式中最接近企业真实运维工作环境的,当然,如果能有一个真实的物理机放在局域网或机房里那就更好了。

3.1.2 连接前的小知识

1.IP地址(服务器的位置)

互联网上的计算机都会有一个唯一的32位地址,即IP地址,这个IP地址就相当于服务器所在的位置。

我们找人时,要知道这个人的具体地址,同理,如果要访问连接服务器,那就必须通过服务器的IP地址来实现,服务器的IP地址就相当于是服务器的具体地址。

局域网(只在我们目前的环境里生效)里也有预留的IP地址,通常以192.168.0.0、172.16.开头,每个局域网内的IP地址也是唯一的。

说明

外网IP地址:就是在全世界哪里都可以访问的IP地址。

内网IP地址:就是只能在一个范围内访问的IP地址,例如,一个企业、一个教室,但也不是绝对的,这里可以就这样先简单地理解一下,后文会深入讲解网络知识。

2.端口的简单概念

老男孩的虚拟机IP地址是192.168.2.217(默认自动获取,一般以192.168.开头),这里的192.168.2.217代表一台主机(澡堂子),但是主机(澡堂子)上可能会有很多功能和服务,一台主机上各种不同的服务功能都是通过端口来表示的,不同的客户使用不同的服务,形象的示例说明请参见表3-1。

表3-1 端口与服务形象对应表格

例如,我们用于远程连接的服务端口号默认就是22,服务名称为SSH服务。

3.协议的简单概念

不同的服务提供了不同的端口,对应于不同的功能,且其通信方式也可能不同,这种客户端和服务器之间交流的通信方式,可以理解为协议。

一台主机上不同的服务功能都是通过端口来进行区分的。若是不同的服务端口,那么客户端和服务器之间通信时,可能会使用不同的协议。

既然我们可以通过IP地址找到服务器(机器),那么就可以通过连接不同的端口来获得不同的服务,以及使用各种不同的协议。

连接基本名词及对应功能如表3-2所示。

表3-2 连接基本名词及对应功能

3.1.3 远程连接Linux的原理

1.SSH远程连接介绍

当前,在几乎所有的互联网企业环境中,最常用的提供Linux远程连接服务的工具就是SSH软件。SSH分为SSH客户端和SSH服务端两部分,其中,SSH服务端包含的软件程序主要有openssh和openssl。在Linux系统中,可以按如下方法查询SSH服务端工具的安装情况:


[root@www ~]# rpm -qa openssh openssl
openssl-1.0.2k-16.el7.x86_64
openssh-7.4p1-16.el7.x86_64

提示:openssh是提供SSH服务的程序,openssl是为SSH提供连接加密的程序。

2.SSH服务端介绍

启动Linux系统时,默认情况下,SSH服务端程序会随系统一起启动,SSH服务是一个守护进程(daemon),它在系统后台永久运行并时刻响应来自所有SSH客户端的连接请求。SSH服务端的进程名为sshd,负责实时监听远程SSH客户端的连接请求并进行处理,这些请求一般包括公共密钥认证、密钥交换、对称密钥加密和非安全连接等。SSH服务是Linux系统优化时需要保留开机自启动的服务之一。

3.SSH客户端介绍

SSH客户端最常用的工具就是Windows平台上运行的SecureCRT了,该工具的安装很简单,按照提示一步步操作即可安装完毕,然后打开并注册软件,运行就可以使用了。远程连接Linux时,除了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的服务程序上,SSH2.x比SSH1.x更安全,默认情况下服务端通过SSH 2.x协议提供服务。

5.SSH客户端和SSH服务端远程连接原理示意图

图3-1为SSH客户端和SSH服务端远程连接的形象示意图,表3-3中列举了SSH服务远程连接需要设定的五个要素。

图3-1 SSH通信示意图

表3-3 SSH服务远程连接需要设定的五个要素

3.1.4 远程连接Linux的客户端工具介绍

在介绍远程连接Linux的工具之前,我们先来回忆一下Windows下曾经用过的远程连接服务器的工具,其中包括远程桌面mstsc、vnc等&#x

本文标签: Linux