11.1 远程联机服务器
远程联机服务器对我们来说,可是一项很有用的工具啊!他可以让我们更方便的管理主机。 不过,方便归方便,但开放全世界都可以尝试登入你的主机并不个好主意,因为可能会有安全性的问题吶! 所以本章才要特别强调一下这个玩意儿啊!
11.1.1 什么是远程联机服务器
首先,我们来了解一下,什么是『远程联机服务器』? 这个东西的功能为何?我想,你应该已经听过,一部开放到因特网上的服务器,基本上,它可以不需要屏幕、键盘、 鼠标等等的周边配备,只要有基本的主板、CPU、RAM、硬盘再加上一块好一点的网络卡,并且连上因特网, 那这部主机就能够提供你有需要的网络服务了。但如果你需要重新设定这部主机,该如何登入主机取得类似 bash 的接口来操纵与进行修改呢?那就得要透过联机服务器的服务了。
是的!你猜对啦,远程联机服务器在提供你由远程透过文字或图形接口的方式来登入系统, 让你在远程的工作机前面登入 Linux 主机以取得可操控主机之接口 (shell),而登入后的操作感觉上就像坐在系统前面一样! 所以啦,你当然不需要远程网络服务器的键盘、鼠标、屏幕等等。你只要工作机可以正常联机到远程主机即可啊。
以鸟哥个人为例,目前鸟哥管理十几部的 Unix-Like 主机,这些主机都不放在同一个地方,分布在南台湾各处! 那么当有新的软件的漏洞被发布,或者是需要进行一些额外的设定的时候,是否鸟哥本人一定要到现场吗?当然不需要, 只要透过网络联机到该主机上面,就可以进行任何工作了!真的就好像在主机前面工作一般的轻松愉快! ^_^!这就是远程联机服务器啦!
Tips: 很多人会说,我用 FTP 也要输入账号密码来登入啊?那与这个章节谈到的登入有何不同?最大的不同在于取得的 shell 能进行的工作啦!用 ssh/telnet/VNC 等方式取得的文字或图形 shell 能够进行很多系统管理的任务,与单纯的 FTP 能进行的工作当然不同!
- 联机服务器的功能作用之一:分享 Unix Like 主机的运算能力
当你的工作需要使用到 Linux 强大的程序语言编译功能时,那么你一定需要 Linux 对吧!而且最好是指令周期快一点的主机, 这个时候你可以将你研究室最快的那一部主机开放出来,设定一下远程联机服务器,让你的学生啦,或者是研究室的同仁啦, 可以透过这部机器帮他们进行研究的工作,这个时候,你的主机就可以让多人进行分享 Linux 运算的功能啦!
举例来说,鸟哥与昆山还有长荣大学的老师、同学们组建了一组服务器等级的丛集架构计算机 (PC cluster), 目前我们在该计算机上面跑 MM5 、Models3 等大气与空气质量模式,要在这样的架构底下跑数值模式的原因, 主要就是考虑运算能力。那会使用到该组计算机的有好多人,难道大家都在挤在一部屏幕前面工作?当然不需要啦! 这时候就是远程联机服务器的服务范围啰!
但是否每一部连到 Internet 上面的主机都应该要开放远程联机的功能呢?其实并不尽然, 还是需要针对你的主机来进行规划的,我们底下分服务器与工作站来说明:
- 服务器类型 (Server) :有限度的开放联机
在一般对因特网开放服务的服务器中,由于开放的服务可能会有较为重要的信息,而远程联机程序连进主机之后, 可以进行的工作又太多了(几乎就像在主机前面工作一般!),因此服务器的远程联机程序通常仅针对少部分系统维护者开放而已! 除非必要,否则 Server 类型的主机还真的不建议开放联机的服务呢!
以鸟哥为例,我的主机提供了我们研究室使用 Mail 与 Internet 上面的 WWW 服务,如果还主动提供远程联机的话, 那么万一不小心被入侵,那可就伤脑筋了!因此,鸟哥仅开放『很小部分的网域』让系统管理员连进来, 其他来源的 IP 一律抵挡!不许使用远程联机的功能呢!
- 工作站类型 (Workstation) :只对内网开放
所谓的工作站就是不提供因特网服务的主机,仅提供大量的运算能力给使用者。 既然不提供因特网的服务,那你还开联机服务器干嘛?不是啦!像前面鸟哥提到的 PC cluster 大量运算的整组计算机, 也可以称之为工作站,因为它没有提供常见的网络服务嘛!不过必须要提供给使用者登入的权限,这样大家才用的到运算功能啊! 此时你就得要针对内部,或者是特定的某些来源开放他们使用你的工作站啰!
11.1.2 有哪些可供登入的类型?
那么目前远程联机服务器的主要类型有哪些?如果以登入的联机界面来分类,基本上有文字接口与图形接口两种:
- 文字接口明码: telnet, rsh 等为主,目前非常少用;
- 文字接口密码: ssh 为主,已经取代上述的 telnet, rsh 等明码方式;
- 图形接口: Xdmcp, VNC, RDP 等较为常见
在文字接口登入的联机服务器,主要有以『明码』传送数据的 telnet 服务器,及以加密技术进行数据加密再传送的 SSH 服务器!虽然 telnet 可以支持的客户端软件比较多,不过由于它是使用明码来传送数据,你的数据很容易遭到有心人士的撷取! 所以近来我们都呼吁大家多使用 SSH 这一种联机方式
至于图形接口的联机服务器,比较简单的有 Xdmcp (X Display Manager Control Protocol),架设 Xdmcp 很简单, 不过客户端的软件比较少。另外一款目前很常见的图形联机服务器,就是 VNC (Virtual Network Computing), 透过 VNC server/client 软件来进行连接。如果你想要使用类似 Windows 的远程桌面联机,该功能使用的是 RDP (Remote Desktop Protocol),那你可得要架设 RDP 服务器才行。
Tips: 图形接口最大的优点是『图形』啊!不过,因为是透过图形来传送,传输的数据量相当的大, 所以速度与安全性都有待考虑。因此,我们仅建议你将图形接口的远程登录服务器开放在内部网域 (LAN) 就好了!
- 数据传送的明码与密码
什么是『明码』与『加密』的数据封包传送模式呢?为什么 telnet 使用明码就比较不安全?所谓的明码就是: 『当我们的数据封包在网络上传输时,该数据封包的内容为数据的原始格式』, 也就是说,你使用 telnet 登入远程主机时,不是得要输入账号密码吗?那你的账号密码是以原本的数据格式传输, 所以如果被类似 tcpdump 之类的监听软件撷取数据, 那你的帐密就有可能被窃取啦!
所以啦,万一你的数据封包里面含有信用卡数据、密码、身份确认等重要信息时,是否很危险吶? 因此,目前我们通常都希望使用可以将这些在网络上面跑的数据加密的技术,以增加数据在 Internet 上面传送的安全性啊!
Tips: 说 ssh 比较安全,其实是透过 ssh 信道传输讯息时,该讯息在网络上面比较安全,因为数据是加密过的,即使被窃取, 对方可能也不会知道数据内容为何,因此信息比较安全。但这不代表 ssh 这个通讯协议就比较安全喔!两者意义不同!
由于明码传输的 telnet, rsh 等联机服务器已经被 ssh 取代,并且在一些实际应用上已经很少看到 telnet 与 rsh 了, 因此本章在文字接口上着重于介绍 ssh 的应用,包括以 rsync 藉由 ssh 通道来进行异地备援的任务等等。至于图形接口则会介绍 Xdmcp, VNC 与 RDP 喔!因为很多工作站用户需要显示他们在工作站实作后的图形呈现,因此这部分也是很重要的呢!
原文: https://wizardforcel.gitbooks.io/vbird-linux-server-3e/content/73.html