我想在脚本中运行以下命令(意味着我无法在终端中交互运行,因此可以在提示时输入密码):
ssh -o StrictHostKeyChecking=no user@example.com 'echo mypassword | sudo -kS ufw 状态
'
这将 ssh 进入远程主机并在远程主机上运行命令 ufw status。
该命令工作正常,但我需要能够从名为的环境变量引用“密码”
SSHPASS = 我的密码
它存储密码,以免在命令中暴露密码。怎么做?
ssh您可以通过以下命令将包含密码的变量传递给sshpass:
sshpass -p "$SSHPASS" ssh -o StrictHostKeyChecking=no user@example.com
Run Code Online (Sandbox Code Playgroud)
也就是说,这并不比在脚本中包含密码更安全!
当您需要通过脚本访问服务器时,更好的解决方案ssh是转向基于密钥的身份验证。
| 归档时间: |
|
| 查看次数: |
18736 次 |
| 最近记录: |