- openss基础实验
openssl是Linux内置的一款开源工具,实现了常见的密码算法与应用。通过openssl操作,完成各种密码算法的应用。
创建一个文件,用于被加密,文件内容为12345,文件名为test.txt
echo 12345 >test.txt
1、对称加密
1、使用rc4加解密
加密
openssl enc -e -rc4 -in test.txt -out test_rc4.enc
解密
openssl enc -d -rc4 -in test_rc4.enc -out test_rc4.dm
2、使用AES加解密
openssl enc -e -aes-128-cbc -a -salt -in test.txt -out test_aes128.enc
解密
openssl enc -d -aes-128-cbc -a -salt -in test_aes128.enc -out test_aes128.d
3、使用3DES加解密
加密
openssl enc -e -des3 -a -salt -in test.txt -out test_des3.enc
解密
openssl enc -d -des3 -a -salt -in test_des3.enc -out test_des3.d
二、非对称加密
1、RSA加解密码
生成RSA密钥对
openssl genrsa -out rsa.key 1024
导出公钥
openssl rsa -in rsa.key -pubout -out rsa_pub.key
使用公钥加密文件
openssl rsautl -encrypt -in test.txt -inkey rsa_pub.key -pubin -out test_rsa.enc
使用私解解密文件
openssl rsautl -decrypt -in test_rsa.enc -inkey rsa.key -out test_rsa.c
使用公钥解密报错
openssl rsautl -decrypt -in test_rsa.enc -inkey rsa_pub.key -out test_rsa.c
- 密码学之apache部署https服务器
一、生成独立的CA
1、 生成ca的key
openssl genrsa -des3 -out ca.key 4096
2、生成CA的证书
openssl req -new -x509 -days 365 -key ca.key -out ca.crt
二、生成服务器的私钥key和签名请求文件csr
1、生成https服务器私钥
openssl genrsa -des3 -out myserver.key 4096
2、生成https服务器证书请求文件
openssl req -new -key myserver.key -out myserver.csr
利用ca的证书和key,生成我们的证书
openssl x509 -req -days 365 -in myserver.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out myserver.crt
Set_serial设置的证书的编号
三、安装apache的ssl模块,
1、服务上已经安装有apache,要实现apache的https功能,需要安装ssl模块
yum install -y mod_ssl
四、复制证书到对应路径
cp myserver.crt /etc/pki/tls/certs/
cp myserver.key /etc/pki/tls/private/
五、修改apache配置文件,让证书生效
vim /etc/httpd/conf.d/ssl.conf
将证书和私钥路径指为如图
保存并退出文件
六、重启apache服务
systemctl restart httpd
注意输入myserver.key的加密密码
七、测试网站证书
使用客户端chrome浏览器访问服务器https页面,
我这里服务器ip是192.168.0.232
https://192.168.0.232
高级
继续前往
查看服务器证书,点“不安全”
- 使用密钥登录ssh服务器
SSH登录除了传统的密码登录,可以使用密钥文件登录,结合PAM模块,也可以实现双因子登录等。
一、配置服务器SSH密钥登录
以下操作使用服务器进行
1、编辑SSH配置文件
vim /etc/ssh/sshd_config
2、删除#号
删除PubkeyAuthentication yes此行前面的#号
保存文件并退出
3、重启ssh服务
systemctl restart sshd
二、使用客户端生成密钥
以下操作使用客户端进行
1、生成SSH登录的密钥对
ssh-keygen -t rsa
2、查看生成的密钥
ls -l /root/.ssh/
确保以下两个文件是新生成的。
三、上传客户端公钥证书到服务器
以下操作使用客户端进行
1、使sftp连接服务器
sftp root@192.168.0.6
输入yes
输入服务器密码
2、上传公钥文件
put /root/.ssh/id_rsa.pub
3、退出sftp客户端
exit
四、配置服务器公钥
以下操作使用服务器进行
通过第三步,我们已经将公钥证书放到了/root/id_rsa.pub
这里我们将公钥文件输出到服务器配置文件中
cat /root/id_rsa.pub >> ~/.ssh/authorized_keys
五、验证密钥登录
以下操作使用客户端登录
1、指定私钥文件登录
ssh -i /root/.ssh/id_rsa root@192.168.0.6
此时我们可以看到直接登录进了服务器,并没有输入密码。因为我们使用了证书验证