簡體   English   中英

SSH用於Bash腳本(SSH-Agent)

[英]SSH for Bash Script (SSH-Agent)

不知道這是否是一個重復的問題,但我確實找不到解決我問題的方法。

問題是我無法運行以下命令。

#!/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命令之前由本地外殼程序評估。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM