2018年(273)
分类: LINUX
2018-08-13 11:29:17
跨公网传输备份文件是运维和DBA们经常干的活,但是未经加密的压缩文件在公网上传输,就好比在亚龙湾裸泳,稍不留神就被拍啊,哈哈!本文主要描述通过openssl结合gzip与tar命令来实现加密,再传输那就安心多了。
OpenSSL 是一个安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。openssl可以实现:秘钥证书管理、对称加密和非对称加密。整个软件包大概可以分成三个主要的功能部分:SSL协议库、应用程序以及密码算法库。
在本文中,我们仅仅使用其对称加密方式。
对称加密需要使用的标准命令为 enc ,用法如下:
openssl enc -ciphername [-in filename] [-out filename] [-pass arg] [-e] [-d] [-a/-base64]
[-A] [-k password] [-kfile filename] [-K key] [-iv IV] [-S salt] [-salt] [-nosalt] [-z] [-md]
[-p] [-P] [-bufsize number] [-nopad] [-debug] [-none] [-engine id]
常用选项有:
-in filename:指定要加密的文件存放路径
-out filename:指定加密后的文件存放路径
-salt:自动插入一个随机数作为文件内容加密,默认选项 -e:可以指明一种加密算法,若不指的话将使用默认加密算法 -d:解密,解密时也可以指定算法,若不指定则使用默认算法,但一定要与加密时的算法一致 -a/-base64:使用-base64位编码格式
示例: # more /etc/redhat-release CentOS Linux release 7.4.1708 (Core) # openssl version OpenSSL 1.0.2k-fips 26 Jan 2017 # echo "This is a test file">>samp.txt # openssl enc -e -des3 -a -salt -in samp.txt -out samp.code enter des-ede3-cbc encryption password:
Verifying - enter des-ede3-cbc encryption password: # more samp.code U2FsdGVkX19modQGUDk7yCxiOes+cUJVduNeSlwVFMCAA6J2gVVL9Q== # openssl enc -d -des3 -a -salt -in samp.code -out samp.decode enter des-ede3-cbc decryption password: # more samp.decode This is a test file