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

相关推荐

  • linux文件查找工具 — find

    简述:   linux中find命令是一种强大的实时查找工具,它通过用户给出的路径,在该路径下的文件系统中进行文件查找。因此在遍历一个较大的文件系统时会比较花费时间,而且find命令占用资源也是比较大的,所以它的工作特点是,查找的速度略慢,但是可以实现精确查找和实时查找。由于用户权限的问题,可能只搜索用户具备读取和执行权限的目录。由于fi…

    Linux干货 2016-08-18
  • 111-puppet

    一.运维层次分类 OS Provision:

    2016-12-04
  • gawk 语法介绍及其实例

    gawk 语法介绍及其实例  §·awk介绍 Linux文本处理三剑客:grep  sed 和 awk 。其中grep是一种文本过滤工具,sed是文本行编辑器,而awk是一种报表生成器,就是对文件进行格式化处理的,这里的格式化不是文件系统的格式化,而是对文件的内容进行的各种排版,进而格式化显示。 在linux之上我们使用awk是GUN a…

    Linux干货 2016-09-22
  • 9 grep & egrep & 正则表达式

    grep grep = Global search REgular expression and Print out the line 语法及用途 grep [OPTIONS] PATTERN [FILE…] 根据用户指定的“…

    Linux干货 2016-08-10
  • yum使用和源码编译进程

    yum 是通过分析RPM的标头数据,根据各软件的依赖关系制作出有依赖关系时的解决方案,然后自动处理软件的依赖性问题,以解决软件安装或升级的问题。  yum使用方法: yum [options] [command] [packages …] install package .. 通过yum安装软件包 update package .. 更新软件包 u…

    Linux干货 2016-08-24
  • 8月3日作业

    1、三种权限rwx对文件和目录的不同意义     文件:         r:可读         w:可修改内容,不可删除   &nbsp…

    Linux干货 2016-08-05