gpt4 book ai didi

linux - Bash 脚本的 SSH(SSH 代理)

转载 作者:太空宇宙 更新时间:2023-11-04 09:25:41 24 4
gpt4 key购买 nike

不确定这是否是一个重复的问题,但我真的找不到解决我的问题的方法。

问题是我无法运行以下命令。

#!/bin/bash
SCRIPT1="cd /path/to/project;"
SCRIPT2="git pull;"
ssh "production" ${SCRIPT1} "ssh-agent /bin/bash; ssh-add ~/.ssh/my_bitbucket_key;" ${SCRIPT2}

仍然是 bash 和 ssh 的新手,所以我也不确定这是否是正确的方法。

希望你能帮助我。谢谢!

最佳答案

您的脚本的问题是您正在启动 ssh-agent 运行 bash 的新实例。执行您的命令的 Bash 无权访问此代理。相反,你想要

ssh "production" "${SCRIPT1}
eval \$(ssh-agent)
ssh-add ~/.ssh/my_bitbucket_key
${SCRIPT2}"

(eval 之后的美元符号必须转义,因为未转义的美元符号将在启动 ssh 命令之前由本地 shell 求值。)

关于linux - Bash 脚本的 SSH(SSH 代理),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36706612/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com