macOS 通过 Keychain 存取密码

macOS 通过 Keychain 存取密码_第1张图片

在 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
  • 参考资料:Using the OS X Keychain to store and retrieve passwords

(完)

你可能感兴趣的:(macOS 通过 Keychain 存取密码)