【发布时间】:2014-12-15 13:56:14
【问题描述】:
有没有办法在 shell 脚本期间保留公钥密码?
我正在构建一个部署脚本,它需要在实际传输文件之前清除缓存等。之后我还需要在服务器上运行命令。这两个操作都要求我输入密码,而我只想在脚本开头输入一次。有什么办法吗?
【问题讨论】:
有没有办法在 shell 脚本期间保留公钥密码?
我正在构建一个部署脚本,它需要在实际传输文件之前清除缓存等。之后我还需要在服务器上运行命令。这两个操作都要求我输入密码,而我只想在脚本开头输入一次。有什么办法吗?
【问题讨论】:
您应该可以使用 ssh-add/ssh-agent(包含在 OpenSSH 中)来做到这一点。使用 ssh-add 输入一次密码并将密钥添加到代理后,只要它可以与 ssh-agent 通信(通过 SSH_AUTH_SOCK 环境变量),随后的任何 scp/ssh 命令都不会提示输入密码)。确保在 ssh-add 中使用“-k”选项,以便代理在适当的时间后使密码过期。
【讨论】: