如何避免在 schell 脚本执行期间需要重新输入密码

如何避免在 schell 脚本执行期间需要重新输入密码

我正在编写一个 shell 脚本,执行以下重复任务

  • git 提交
  • git push
  • mvn 发布:准备
  • mvn 发布:执行

在JAVA软件项目的几个路径中。

现在,每个命令都会至少要求输入一次我的 rsa 令牌密码,有时甚至多次:“输入密钥 /..../.ssh/id_rsa 的密码:”

有办法解决这个问题吗?如果我每次执行脚本时都必须输入一次密码,那就没问题了。

一个边界条件:我不能使用“spawn、expect、send”

一个复杂的问题:我在 CENTOS7 shell 中运行脚本,该脚本通过 X-Win32 在 windows10 机器上调用。我不想登录到本机 Linux 桌面环境。

注意:这是我在 askubuntu 上发布的同一个问题的副本 - 这是一个题外话(https://askubuntu.com/questions/1178707/how-to-avoid-neccessity-to-re-enter-password-during-schell-script-execution

答案1

使用ssh-agent

您的系统上很可能已经运行了该程序。尝试使用以下命令将您的密钥添加到代理:

ssh-add

如果ssh-agent没有运行,您将收到以下消息:
“无法打开与您的身份验证代理的连接。”

要修复该问题,请使用:

eval $(ssh-agent)

然后再次运行该ssh-add命令。

这里是ssh 代理手册页

相关内容