-
老大说,不能在shell脚本放明文密码
-
自己的第一反应:我先在本地AES加密得到密文,然后将密文写入shell脚本
-
网上搜索了一下,openssl可以满足需求
-
直接基于字符串加解密(AES-256)
# 直接基于字符串加密 echo "明文" | openssl enc -aes-256-cbc -a -salt -pass pass:密码 # 直接基础字符串解密, -d表示解密 echo "密文" | openssl enc -aes-256-cbc -a -d -salt -pass pass:密码
-
示例
echo "hello, world" | openssl enc -aes-256-cbc -a -salt -pass pass:12345678 echo "U2FsdGVkX1+8LczdI2MWVt4rW7VLxCYgCcQcftPwvqg=" | openssl enc -aes-256-cbc -a -d -salt -pass pass:12345678
-
对文件进行AES加解密
# 文件加密 openssl enc -aes-256-cbc -a -salt -pass pass:123456 -in source_file_name -out target_file_name # 文件解密 openssl enc -aes-256-cbc -a -d -salt -pass pass:123456 -in source_file_name -out target_file_name
-
示例
# 文件加密 openssl enc -aes-256-cbc -a -salt -pass pass:123456 -in hello.txt -out hello.txt.enc # 文件解密 openssl enc -aes-256-cbc -a -d -salt -pass pass:123456 -in hello.txt.enc -out hello
-
计算SHA-256
# 基于文件计算SHA-256 openssl dgst -sha256 file_name # 基于字符串计算SHA-256 echo "明文" | openssl dgst -sha256
-
示例
# 基于文件计算SHA-256 openssl dgst -sha256 hello.txt # 基于字符串计算SHA-256 echo "hello" | openssl dgst -sha256
参考链接
- shell 脚本明文密码加密小工具(AES字符串加解密)
- openssl加密文件或文件夹
- 如何使用OpenSSL:哈希值、数字签名等
-
centos中,安装一个软件的命令如下
yum install xxx
-
手动安装,我们发现可能需要输入一个y,去确认安装
-
新需求:通过shell脚本去安装某些软件,如何避免交互输入?
-
添加-y,表示对后续所有问题,都回答yes
yum install xxx -y
-
-y的作用:
-
参考文档:利用shell脚本自动安装软件



