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