Linux下基于密钥的安全验证实现方法
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-05-03
Linux下基于密钥的安全验证实现方法 -------OpenSSH WinSCP putty密钥生成器 putty 实验背景: 小诺公司目前已使用Linux搭建了各个服务器(FTP、DNS、Apache、Sendmail、Samba),这些服务器都被放置在一个安全的地方,一般是不允许任何人进入的,公司现在需要通过远程客户端安全的访问这些服务器. SSH是标准的网络协议,可用于大多数UNIX操作系统,能够实现字符界面的远程登录管理,它默认使用22号端口,采用密文的形式在网络中传输数据,相对于通过明文传输的Telnet,具有更高的安全性. SSH提供了口令和密钥两种用户验证方式,这两者都是通过密文传输数据的,不同的是,口令用户验证方式传输的是用户的账户名和密码,这要求输入的密码具有足够的复杂度才能具有更高的安全性.而基于密钥的安全验证为用户自己创建一对密钥,并把共有的密钥放在需要访问的服务器上.当需要连接到SSH服务器上时,客户端软件就会向服务器发出请求,请求使用客户端的密钥进行安全验证.服务器收到请求之后,先在该用户的根目录下寻找共有密钥,然后把它和发送过来的公有密钥进行比较.如果两个密钥一致,服务器就用公有的密钥加密“质询”,并把它发送给客户端软件(puetty).客户端收到质询之后,就可以用本地的私人密钥解密再把它发送给服务器.这种方式是相当安全的. 实验网络拓扑: 实验步骤: 一、 安装并配置OpenSSH软件 在RHEL4系统中OpenSSH服务器和客户端软件是默认安装的,因此不需要用户手动安装.如果没有安装,与OpenSSH服务相关的软件包都包括再第二张安装光盘中,可通过rpm命令进行安装. 在RHEL4中,与OpenSSH服务相关的配置文件都保存在目录“/etc/ssh”中,其中sshd_config是SSH服务器的配置文件,ssh_config是SSH客户机的配置文件.本实验通过在Windows使用puetty登录,因此不需要配置ssh_config.只需要配置sshd_config即可. 在sshd_config文件中将下面的三行注释掉即可. RSAAuthentication yes 开启RSA加密功能 PubkeyAuthentication yes 开启公钥验证功能 AuthorizedKeysFile 指定公钥的文件名称以及保存位置 配置完成之后,需要重启sshd服务程序,以便新的配置生效. 在SSH服务器端(客户机端也可以,最好在客户机端生成,然后将公钥上传到对应的目录中,这样比较安全)生成公钥和私钥对. ssk-keygen命令用于生成当前用户的密钥对. -t rsa 命令选项指定密钥的类型为rsa. -b 1024 命令选项指定密钥的长度为1024位. 在ssh-keygen命令生成密钥的执行过程中,需要用户回答相关的设置信息,第一个为私钥的默认路径,第二个为私钥的密码,第三个为私钥的再次密码确认. ssh-keygen命令执行完毕后会在用户宿主目录的“.ssh”目录中生成两个文件,其中id_rsa是用户私钥文件,id_rsa.pub是用户的公钥文件,这两个文件是通过ssh_keygen命令一次生成,并且需要配对使用的. 生成的公钥名称与指定的公钥名称不符,因此需要将生成的文件名换成authorized_keys即可. 二、 安全使用WinSCP软件导出用户私钥 需要将私钥文件id_rsa拷贝到用户的主机上,还要删除服务器上的私钥,这样可以保证私钥的唯一性.如果通过Samba或者FTP服务器都可能造成私钥的丢失,因此需要采用安全的方式访问Linux服务器.WinSCP是Windows下的scp和sftp客户端程序,安装完WinSCP软件之后,开启WinSCP软件会出现与PuTTY类似的配置对话框,在该对话框中输入SSH服务器的主机名(IP地址)和端口号,用户名和密码(口令),并选择“登录”按钮进入登录,连接的方式是通过密文传输的,安全性极高. 通过WinSCP软件登录上Linux之后,可以将用户的私钥id_rsa先拷贝到自己的主机上,然后将Linux上的私钥删除即可以防后患. 三、 使用PuTTY密钥生成器生成Windows识别的 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: Linux下搭建DNS服务下一篇: shell 变量和运算符
关于Linux下基于密钥的安全验证实现方法的所有评论