【问题标题】:Script that executes ssh-add and feeds the passphrase automatically执行 ssh-add 并自动提供密码的脚本
【发布时间】:2012-11-12 22:33:15
【问题描述】:

我正在使用执行的脚本

eval `ssh-agent`
ssh-add

提示您输入 SSH 密码。是否可以从脚本中输入密码?这样做的目的是在我打开 GitBash 时打开与 git repo 的连接,而无需不断输入我的密码。我知道将密码放在脚本中是很糟糕的安全性,但我真的不在乎。我正在做测试。

【问题讨论】:

  • 使用 aah-agent,您只需输入一次密码...而且会更好:1. 做 2. 手动
  • GitBash 的意思是“Windows”,是吗?
  • 是的,它是一个 Windows 的 git 控制台。

标签: git bash ssh


【解决方案1】:

如果您要这样做,最好不要在密钥上使用密码。在这种情况下,您甚至不需要使用ssh-agent。您可以使用 ssh-keygen -p 从现有密钥中更改或删除密码。

【讨论】:

  • 当我最终想使用密码时会发生什么?
  • 同样的命令可以再次设置密码。虽然此时生成一个新密钥可能会更好,并将旧密钥视为已泄露。
  • 我不是这个意思。我的意思是,我不想每次都手动输入密码这一事实无济于事。
  • @SotiriosDelimanolis - 使用 ssh-agent,您每个会话(对于任何数量的拉/推)只输入一次密码
  • 从密钥中删除密码后,将没有密码可输入。
【解决方案2】:

回答方法在这里:

https://ifireball.wordpress.com/2015/01/12/automatic-loading-of-ssh-keys-from-scripts/

总结:

echo "exec cat" > ap-cat.sh
chmod a+x ap-cat.sh
export DISPLAY=1
echo $MY_SSH_PASS | SSH_ASKPASS=./ap-cat.sh ssh-add ~/.ssh/id_rsa
rm ap-cat.sh

注意:您需要将DISPLAY 环境变量导出为某个值。

【讨论】:

  • 实际上,SSH_ASKPASS=/usr/bin/cat 对我有用。
猜你喜欢
  • 2017-07-05
  • 1970-01-01
  • 2023-03-26
  • 1970-01-01
  • 2012-08-25
  • 2016-01-08
相关资源
最近更新 更多