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.www58058.com/77134

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

相關推薦

  • Linux進程篇16.3ps命令:進程管理工具

    ps命令:進程管理工具

    Linux干貨 2017-12-18
  • DNS

    這里都以我本機的實驗為例 正向解析:就是從主機名到IP的解析過程 先在工作目錄/var/named/創建一個區域數據文件 以zcylinux.io域為例:vim/var/named/zcylinux.io.zone $TTL  600     #設置全局變量TTL的值為600s zcylinux.io.&nb…

    Linux干貨 2017-05-30
  • 文件查看和正則表達式

    文件查看工具         cat,tac,rev,more,less,head,tail cat:查看文本          cat [OPTION]… [FILE]… &…

    Linux干貨 2016-08-07
  • CentOS安裝本地 YUM源 產生的問題和解決過程

    本人剛剛踏入Linux的神秘殿堂就被如何安裝軟件這樣的問題難倒了,經過Google大神的指點,終于找到了如何配置YUM源的方法,其中也不是一帆風順,也產生了一些小問題,這些都是基礎知識,希望能夠幫到剛剛學習Linux的朋友。     由于VMware的終端不好用,所以想換成XShell,過程中又需要配置網絡屬性,橋接到…

    Linux干貨 2016-01-05
  • Linux syslog 系統日志管理

    Linux系統上面,系統可以記錄從開機到當前系統上面何時發生了哪些事情,在centos 上表現為rsylog,由三部分組成 1)syslogd:主要記錄系統和網絡等服務的日志信息 2)klogd:主要記錄內核產生的各項信息 3)logretate:主要用來對日志文件進行切割循環記錄等 特點: 1)多線程工作 2)支持以TCP,UDP,SSL,TSL,RELP…

    Linux干貨 2016-10-24
欧美性久久久久