Linux Telnet服务的替换(1)


在一些设置中,我们常会遇到Telnet服务的问题。这里我们主要讲解一下Linux下的Telnet的替换问题。那么首先让我们了解一下系统环境。不知道您有没有发现,最近的Linux套件中,都将Telnet的功能自『预设启动』的条件,改为需要由使用者开启的状态?也就是说,RedHat在7.x版本以后,如果您需要Telnet服务,那么你就必须要自行启动他,因为他已经被排除在『预设启动』的服务项目之外了!为什么呢?这是由于Telnet服务本身在传送资料或者是在进行任何工作的时候,都是以『明码』的状态来传送指令,这样一来,当有心人士以listen的功能监听你的资料封包时,那么你所传送的资料将会被撷取而遭到窃取了!所以,基本上,那是非常不安全的一种传输资料方式!因此,在最近所释出的Linux版本中,例如RedHat7.x版本,他们的Telnet服务就已经不再是『预设启动』的功能了!

那如果我们要从远端连线到主机的话,应该怎么办?既然使用Telnet这种明码的方式行不通的话,那么我们要使用何种方式呢?呵呵,现在有更好的方式来提供喔!那就是使用openssh这个套件啦!这个SSH的服务,最重要的是可以使用『非明码』的方式来传送你所键入的资料封包,也就是说,你的资料在网路上,即使被监听而遭窃取了,由于SSH是一种加密过后的封包,故而即使被窃取了,该资料要经过解密也不是三天两头的事情,所以呢,就可以比较安全的工作啦!此外,SSH同时也提供配合PAM的安全模组,与TCPWrappers的封包限制也就是/etc/hosts.allow与/etc/hosts.deny的机制),因此呢,安全性也就比较高一些啰!此外,最便利的一点是,你可以使用root的身份经由ssh登入你的主机喔!

好了!底下我们就来说一说,要如何将你的Telnet改成以ssh来连接呢?由于RedHat7.x以后,预设的ssh是『开启』的状态,所以你几乎不需要任何设定就可以使用ssh啰,那如果是RedHat6.x以前的系统呢?那也很简单的,你只要安装底下两个套件假如您安装RedHat6.x是以完全安装为主)就可以啰!

主机系统的SSH建置:

◆RedHat7.x系统:

由于RedHat7.x系统本身就已经开启了sshd了,所以你可以直接以ssh来连上你的主机啰!不过,如果没有正常开启SSH的话,那样要如何启动呢?也是很简单的,你可以这样:

1.以『/usr/sbin/setup』程式进入setup的话面中;

2.选择『SystemServices』这个项目;

3.然后向下移动到『[*]sshd』,将[*]勾选按下空白键即可);

4.然后以tab按键移动到『OK』按下enter;

这样就设定完开机启动了!然后以底下的方式来启动ssh服务:

/etc/rc.d/init.d/sshdstart

来启动sshd这个服务,要知道有没有正常的启动ssh呢?呵呵,只要输入底下的指令:

netstat-a|more

如果一切正常的话,你将会看到类似底下的这一行:

tcp00*:ssh*:*LISTEN

那就表示ssh已经成功的启动了!不过,如果万一你的Linux系统并没有安装ssh这个服务呢?呵呵!那就安装他吧!其实,ssh这支服务的主要程式称为openSSH啰!然后,如果您想要重先安装openssh来提供ssh的服务,那么RedHat的网站上随时更新的Errata您就不能不去看看!你可以按底下的连结上去RedHat下载属于您系统的最新的openssh这个套件!

小红帽的Errata网页

然后按下您的RedHat版本,进入后,去寻找openssh字眼的套件,那个就是啦!然后按下连结之后,直接找到属于您的系统版本,例如我都是直接捉i386的RPM档案,然后回来以root身份执行:

rpm-ivhopenssh*

如果您只是要升级openssh的话,那就使用:

rpm-Uvhopenssh*

更有甚者,直接以up2date来升级,不过会比较慢一些喔!)

up2date-iopenssh

升级成功之后,就可以直接的以上面的方式来启动ssh这个服务了!

VBird的经验在上一次更新openSSH套件的时候,那是因为网路上发表了旧的openssh可能有些安全方面的问题,所以VBird就去更新了,但是没想到更新完成之后SSH竟然不会动!当真是吓了一大跳!后来,找了一些档案之后,才发现,原来预设的PAM模组的属性搞错了!你可以到/etc/pam.d这个目录下去看一下,会发现sshd的属性竟然是600,与其他的档案属性都不同,后来执行了:chmod644sshd就OK啰!如果你也更新之后发现有这个问题,可以参考看看啰!

◆RedHat6.x以前版本的Linux启动ssh服务:

好了,那么要如何的在RedHat6.x以前的版本上执行ssh这个服务呢?其实也是很简单的,如前所说的,ssh其实是openssh套件的一种,而openssh有使用到openssl这个资料保密的套件,其实还有其他的套件需要安装,不过,由于我这里预设条件是您已经用『完整安装』来安装您的Linux系统,所以其他的套件应该都已经安装完整了才对!)VBird不是很建议使用RPM来安装openssh,因为在RedHat6.x以前的版本上面安装openssh的RPM实在是太麻烦了!所以,我们就使用tarball的方式来安装吧!


相关内容