openssh及基于ssl的https的配置

openssh的简介     

       OpenSSH 是 SSH 协议的免费开源实现。SSH协议族可以用来进行远程控制, 或在计算机之间传送文件。

而实现此功能的传统方式,如telnet(终端仿真协议)、 rcp ftp、 rlogin、rsh都是极为不安全的,并且会使

用明文传送密码。OpenSSH提供了服务端后台程序和客户端工具,用来加密远程控件和文件传输过程中的

数据,并由此来代替原来的类似服务。


Openssh的工作原理

  • 认证远程主机:
               服务器用私钥加密一段数据传给客户端,客户端用服务器的公钥来解密,如果能解开,完成认证
  • 协商加密算法,密钥交换
                认证完成后,客户端和服务器端开始协商加密算法,查看是否有两者都支持的算法,并作确认

                客户端使用一种会话密钥,然后用服务器端的公钥进行加密,服务器端得到后用自己的私钥解

                密可以得到会话密钥,然后双方完成密钥交换

  • 服务器发送登陆提示符

                服务器端发出登陆提示,提醒用户登录,不过现在的Openssh一般是服务器端保存客户端的公

                钥,保存的公钥是不能公开的,下次用户登陆的时候服务器用用户的公钥加密一段数据发送给

                客户端,查看客户端是否能够进行解密,如果能,则身份认证完成

openssh的验证机制是通过CA来实现的,CA是互联网上的第三方具有公信力的机构,负责签发CA证书,通常

一个CA证书包括以下的几部分:

版本号

序列号

签名算法

发行者名称

有效期限

主题名称

主体公钥(主要的信息)

发行者的唯一标识

主体的唯一标识

扩展

发行者的签名(最重要)

自建CA实现实现https

配置httpd支持https

(1)为服务器申请数字证书

     测试:通过私建CA发证书

               创建私有CA

               在服务器创建证书签署请求

               CA签证

(2)配置httpd支持使用ssl,及使用的证书

 yum  mod_ssl

 

配置文件:/etc/httpd/conf.d/ssl.conf

DocumentRoot

Servername

SSLCertificateFile

SSLCertificateKeyFile

(3)测试基于https访问相应的主机

# openssl s_client 

私有CA的创建

cd /etc/pki/CA

(umask 077;openssl genrsa -out private/cakey.pem 2048)

ll private/

touch  index.txt

echo 01 > serial 

openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 7300

CN    Beijing    Beijing     MageEdu Ltd    Ops ca.magedu.com   caadmin@magedu.com

CA目录下面

openssl ca -in /tmp/httpd.csr -out certs/web1.magedu.com.crt -days 365

ls newcerts/  有无01.pem

ls certs/     有无web.magedu.com.crt     将来实际中应该设置证书生成库

scp certs/web1.magedu.com.crt  root@172.16.100.6:/etc/httpd/ssl/

服务器端

cd /etc/httpd 

ls

(umask 077;openssl genrsa -out httpd.key 1024)

openssl req -new  -key httpd.key -out httpd.csr -days 365

CN    Beijing    Beijing     MageEdu Ltd    Ops   web1.magedu.com(现实中为www服务器)   caadmin@magedu.com

scp   httpd.csr  root@172.16.100.9:/tmp/

ssl目录下面

ll   查看是否有刚才的证书

(2)修改配置文件,启用https服务

httpd -M | grep ssl    查看是否有ssl模块

Syntax  OK  代表没有

yum install mod_ssl -y 

rpm -ql mod_ssl 

cd   /etc/httpd/conf.d/

cp ssl.conf{,.bak}

vim ssl.conf 

<VirtualHost *:443>

SSLCertificateFile /etc/httpd/ssl/web1.magedu.com.crt  服务器给人发的,客户端用来验证

SSLCertificateKeyFile  /etc/httpd/ssl/httpd.key   与证书文件对应的私钥

DoucmentRoot “/vhosts/web1/htdocs”   80端口和443端口共用一个目录

ServiceName web1.magedu.com   主机名

httpd -t  检查语法

service httpd restart

ss -tnl  查看当前端口的信息

(3)测试

服务端上自己测试自己

openssl s_client -connect 172.16.100.6.443 -CAfile  /etc/pki/CA/cacert.pem

GET /  HTTP/1.1

Host:web1.magedu.com

利用浏览器访问

/etc/pki/CA/cacert.pem  复制一份到windows 

将CA证书改名 cacert.crt

双击安装

windows\system32\drivers\hosts

修改主机名为 web1.magedu.com

再次使用浏览器访问

原创文章,作者:Double f,如若转载,请注明出处:http://www.178linux.com/77134

(2)
Double fDouble f
上一篇 2017-05-30 14:05
下一篇 2017-05-30 14:50

相关推荐

  • vim常用小结

    移动光标类命令h :光标左移一个字符l :光标右移一个字符space:光标右移一个字符Backspace:光标左移一个字符k或Ctrl+p:光标上移一行j或Ctrl+n :光标下移一行Enter :光标下移一行w或W :光标右移一个字至字首b或B :光标左移一个字至字首e或E :光标右移一个字至字尾) :光标移至句尾( :光标移至句首}:光标移至段落最后一个…

    Linux干货 2017-04-11
  • 计算机基础知识及服务器介绍

    现代计算机组成 根据冯·诺依曼结构体系计算机有五大部件组成: 运算器、控制器、存储器、输入设备、输出设备 CPU=运算器+控制器 运算器由算术逻辑单元(ALU)、累加器、状态寄存器、通用寄存器组等组成。 算术逻辑运算单元(ALU)的基本功能为加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、求补等操作。 运算器只能进行二进制运算、逻辑运算 控制器…

    Linux干货 2016-06-09
  • 三大家族轻松管理CentOS 7网络属性配置

    一、简单介绍        在CentOS 7中对网络管理还是有不少变化的,例如管理服务的命令变为systemctl,许多命令可以更改后直接生效,还有许多独有的工具,本文以CentOS 6与CentOS 7对比进行讲解,下面现总体介绍一下网络属性配置工具。    &nb…

    Linux干货 2016-04-25
  • 马哥linux0728课程内容

    课堂学习内容   -ahistory list –.bash_histroy 保存历史列表到历史文件 -cclear history list 清空历史列表 -d deletehistory entru 清除历史列表某一条命令 -rread .bash_history 读历史文件中的命令到历史列表…

    Linux干货 2016-08-04
  • shell编程、yum的使用

    shell编程、yum的使用 一、shell编程 1、while的特殊使用 while 循环的特殊用法(遍历文件的每一行): while read line; do      循环体 done < /PATH/FROM/SOMEFILE   依次读取/PATH/FROM/SOMEFILE 文件…

    Linux干货 2016-08-21
  • Linux 发展史

    摘要:     Linux是一款基于Unix的服务端操作系统,目前已广泛应用于国内外的服务器端操作系统领域,其开源性是其获得及其快速的发展,目前至少已有数百种发行版本。 本文主要讲述了linux的系统简介、发展历程和Linux的发行版;     1、Linux的哲学思想:    &nbsp…

    Linux干货 2016-10-19