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