码迷,mamicode.com
首页 > 其他好文 > 详细

利用OpenSSH实现基于秘钥的认证

时间:2015-05-10 01:12:22      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:服务器   linux   客户端   软件   认证   

                    利用OpenSSH实现基于秘钥的认证


SSH协议介绍:

    SSH是Secure Shell的缩写,意思是安全的shell 

        目前版本有 ssh v1和ssh  v2:在目前工作中大多都使用ssh v2版,ssh  v1已经不安全,尽量不使用

             ssh v1:基于CRC-----32做MAC(Message Authentication Code),不安全

             ssh v2:基于双方主机的协商最安全的MAC的方式;基于DH算法做秘钥交换;基于RSA或DSA实现身份认证;客户端通过检查服务器端的主机秘钥来判断是否能够将继续通信

                  有两种认证方式:

                        基于口令

                        基于RSA或DSA秘钥


软件:openssh

       openssh是ssh协议的一种开源实现,使用openssl实现基于RSA或DSA的秘钥认证



一、环境准备

        1、两台linux主机,分别是192.168.10.203和192.168.10.120, 使192.168.10.203做为服务器端,192.168.10.120做为客户端

        2、安装软件

              在服务器端安装ssh服务端和ssh客户端

               技术分享

             在客户端安装ssh客户端

               技术分享

       3、安装后生成的文件:

             服务端:

              技术分享

            客户端:

               技术分享  

                   

二、配置rsa秘钥(在客户端配置)

       1、生成rs秘钥

             方法一:

              技术分享

           方法二:不需要交互,方便在编写shell时使用

                技术分享

           命令解释

                  # ssh-keygen -t rsa -P ‘‘ -f  ~/.ssh/id_rsa

                  ssh-kegen:  openssh秘钥生成工具

                  -t   rsa| dsa: 指定秘钥类型

                  -f  /path/to/somfie:  指定生成秘钥的存储位置

    

    2、将客户端的公钥传给服务器端

          技术分享

   3、在服务器端查看客户端传递过来的公钥信息

技术分享

 


   4、登录验证;此时只需要使用用户而不需要输入密码即可登录服务器端

       技术分享


三、使用小技巧

    利用openssh黑白名单限制用户登录

     1、条件两个用户centos和ferdora

         技术分享

   2、测试确保两用户都可以正常登录服务器

             技术分享

   3、修改服务器配置文件:/etc/ssh/sshd_config,在最后添加一下信息

            AllowUsers   root   centos

    4、重启sshd服务进行验证:

       服务器端重启sshd服务

       技术分享

       

       客户端连接测试:

            技术分享


    

 四、openssh客户端组件的使用方法

        安装openssh-clients,openssh-server软件包后,会产生scp、sftp、以及ssh客户端组件,这里只介绍scp、sftp客户端组件


      1、scp客户端组件:

                    利用ssh协议在主机之间实现安全文件传输    

          命令格式:

               scp  [options]  SRC  ........   DEST/                

        scp有两种格式:

             PULL:   scp    [options]      [USER@]HOST:/path/from/somefile         /path/to/somewhere

                           技术分享 

             PUSH:  scp    [opitons]       /path/form/somefile      [USER@]HOST:/path/to/somewhere

                           技术分享

            options常用选项有以下几种:

                   -r:  递归复制,复制目录时使用

                   -p:保持源文件的元数据信息;主要是mode和timestamp

                   -q:静默模式

                   -P  PORT: 指定远程服务器的端口

                         

      2、sftp客户端组件:

             sftp功能:基于ssh协议实现的ftp客户端程序,sshd(服务器端)自带sftp程序

            使用方法:

                sftp   [USER@]HOST

                

  




本文出自 “jingfu” 博客,请务必保留此出处http://jingfu.blog.51cto.com/6184921/1649883

利用OpenSSH实现基于秘钥的认证

标签:服务器   linux   客户端   软件   认证   

原文地址:http://jingfu.blog.51cto.com/6184921/1649883

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!