![](https://img.haomeiwen.com/i3050552/bbc07acecde50e26.png)
在 Shell 脚本中经常会遇到到使用密码的情况,这就需要在脚本中保存密码,导致存在泄漏的风险。如:
$ sshpass -p password ssh username@sshserver
注:文尾附 sshpass
安装方式
在 macOS 系统中,可以利用 Keychain 来存取密码。
一、Keychain Access.app(钥匙串访问)
Keychain Access.app 是 macOS 中自带的 App,名称为钥匙串访问,根据 GUI 的指引操作即可。
二、通过 Command Line
(一)非交互式
1、添加密码项
$ security add-generic-password -a "所属用户" -s "密码项名称" -w "密码"
2、删除密码项
$ security delete-generic-password -a "所属用户" -s "密码项名称"
3、获取密码项
$ security find-generic-password -a "所属用户" -s "密码项名称" -w
常用方式为保存到变量中:
$ export MYPASSWORD=$(security find-generic-password -a ${USER} -s password-item -w)
(二)交互式
$ security -i
security> add-generic-password -a ${USER} -s "密码项名称" -w "密码"
security> ^D
$
或者采用部分交互的方式:
$ security add-generic-password -a ${USER} -s "密码项名称" -w
password data for new item:
retype password for new item:
$
三、附录
-
sshpass
安装方式- Homebrew
$ brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb
(完)
网友评论