Linux系列-Red Hat5平台下构建密钥对验证的SSH登陆体系
Telnet你们都应该用过,感受还能够吧,用起来确实不错。但就安全性而言实在不敢恭维。在局域网里用一下还能够,要是一牵扯到远程还得SSH。
SSH(Secure Shell)是标准的网络协议,主要用于实现字符界面的远程登陆管理,以及远程文件复制的功能。SSH协议对经过网络传输的数据进行了加密处理,其中也包括了用户登陆时输入的用户口令。与早期的telnet、rsh、rcp等应用相比,SSH协议提供了更好的安全性。
RHEL5中,默认安装了OpenSSH服务器的客户端的相关软件包。它属于开源软件项目,若是没有的话的能够去它的官方网站下载,地址以下:
本次很简单因此我也没准备拓扑,直接来看步骤吧!
1.
在客户端建立用户。
用root用户也能够,但不建议使用root用户。无论什么状况下咱们都应该避免直接使用root用户,要把su这个命令好好用起来。因此下面我建了一个普通用户zpp,而且设了密码。
2.
在客户端建立密钥对
如今仍是在客户上,使用ssh-keygen命令工具为当前用户建立密钥对文件,能够使用的加密算法为RSA或DSA。我就用RSA吧。我们按照图上说的作,作完以后就会产生一对密钥,一个公钥一个私钥。默认位于用户宿主目录下的.ssh/目录下,其中id_rsa.pub是用户的公钥文件,能够提供SSH服务器;id_rsa是用户的私钥文件,默认权限为600,私钥文件必须妥善保管。
3.
上传公钥文件给服务器
将客户端用户建立的公钥文件发送给OpenSSH服务器,并保存到服务器的受权密钥库中。服务器的受权密钥库文件位于各用户宿主目录下的.ssh/目录中,默认的文件名是authorized_keys。上传公钥文件时能够选择FTP、Samba、HTTP、SCP、E-mail等方式,我这你们也看到了使用的是Samba。而后我建了一个与客户端同名的账户,最后把公钥信息复制了一份到服务器上,名字叫authorized_keys。这个名子是系统上配置文件里默认的。
注意这个文件的全部者要求是登陆的目标用户或root,同组或其余用户对该文件不能有写入权限,不然可能没法使用密钥验证成功登陆系统。最好由root来建立,并保持权限为644以下:
4.
调整服务器设置
SSH的配置文件叫sshd_config,在/etc/ssh/目录下,我们最好来个备份(Linux下全部服务的配置文件都建议这样作),而后把那些没用的注释行去掉。这样显得简洁大方。
在OpenSSH服务器的配置文件中,设置启用密钥对验证方式,禁用密码验证方式,而且指定保存用户公钥内容的数据文件位置,如图:
5.
启动sshd服务,确保22端口已经开了,如图:
6.
如今我们到客户端来试试看。
用zpp用户登陆到Client(网管工做站)而后使用命令ssh@192.168.1.1 登陆。首次登陆时它会说一番客套话,不用管它说什么,yes就是了,而后它会要我们输入事先设置的密码短语。输入以后就上去了,如图:
OK!如今我们就构建起了密钥对验证的SSH登陆体系,最后再次强调一下密钥必定要保管好。不然是至关危险的。你们从上图中可能已经看到了,从客户端登陆服务器时是不须要知道服务器中对应用户密码的。