0

我有一个需要使用 sudo 调用的脚本,但是有一部分我必须克隆一个 GIT repo git clone foo:repo path/to/files,为此它需要我的普通用户 ssh 密钥,这一切都在我的普通用户$HOME/.ssh/config文件中定义。

.ssh/config:
host foo
    HostName foo.com
    User myuser
    IdentityFile ~/.ssh/id_rsa

有没有办法在调用这个脚本来保存我的 ssh 配置数据以便可以克隆 repo 时?我尝试将 -E 标志传递给 sudo,但它似乎没有任何效果。

4

1 回答 1

0

从评论到原始帖子,所有功劳都归于@that-other-guy。

代替:

if [[ 'svn' == $repoType ]]; then
    svn co ...
elif [[ 'git' == $repoType ]]; then
    git clone ...
fi

由于我是 sudo-ing,导致我的克隆无法访问我的用户 .ssh/config 数据以获取我的密钥

切换到:

if [[ 'svn' == $repoType ]]; then
    (sudo -u $SUDO_USER svn co ...)
elif [[ 'git' == $repoType ]]; then
    (sudo -u $SUDO_USER git clone ...)
fi
于 2013-02-03T20:07:09.130 回答