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

相关推荐

  • 逻辑卷管理器LVM

    一、LVM逻辑卷管理     lvm(Logical Volume Manage,逻辑卷管理)的重点在于可以弹性的调整filesystem的容量,而并非在于数据的存储效率及安全上面。需要文件的读写效能或者是数据的可靠性是RAID所考虑的问题。LVM可以整合多个实体partition在一起,让这些partitions看起…

    Linux干货 2016-09-02
  • sed命令、crontab任务、简单脚本练习(21期网络班第六周博客作业)

    vim使用: 直接使用sed模式空间演示,基本语法与vim命令模式类似(需注意vim默认定界为当前行,一般需要在前面加1,$定界为全文,而sed不需要) 1、 复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#;      sed &#03…

    Linux干货 2016-08-22
  • MariaDB之MHA配置

    工作拓扑 一、MHA简明:     MHA(Master HA)是一款开源的MySQL的高可用程序,它为MySQL主从复制架构提供了    automating master failover 功能。MHA在监控到master节点故障时,会提升其中    拥有最新数据的…

    2014-10-08
  • haproxy 实战之haproxy实现httpd负载均衡

    haproxy 实战之haproxy实现httpd负载均衡 实验目的haproxy + httpd实现负载均衡 1.准备机器,做好时间同步,域名主机名解析 192.168.42.151 [node2 haproxy] 192.168.42.152 [node3 httpd] 192.168.42.153 [node4 httpd] 2.node3,node4…

    Linux干货 2017-06-29
  • Linux任务计划、周期性执行任务

    Linux任务计划、周期性执行任务 在未来指定的时间点执行一次某任务:at、batch 周期性的执行某个任务:crontab执行结果会以邮件形式发送给用户 如何查看邮件服务是否启用~ ]# ss -tnl mail 命令: mail [-s ‘邮件名’]+ USERNAME 邮件文件的生成: (1) 交互式输入: ctrl+d结束或者 以 . 单独成行 (2…

    Linux干货 2017-08-16
  • 12压缩与解压

    在Linux系统中压缩、解压以及归档的工具主要有一下几种: file-roller : 这个工具适合在桌面系统下进行解压操作。 compress/uncompress  :这是一个比较老的解压工具,压缩后会添加.Z为后缀 gzip/gunzip : .gz结尾 bzip2/bunzip2 : .bz2 xz/unxz : .xz  zip…

    Linux干货 2016-11-27