0

sudo で呼び出す必要があるスクリプトがありますが、GIT repo を複製する必要がある部分が 1 つあり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 構成データを保持し、レポを複製できるようにする方法はありますか? -E フラグを sudo に渡してみましたが、効果がないようでした。

4

1 に答える 1

0

コメントから元の投稿まで、すべての功績は @ that-other-guy にあります。

それ以外の:

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

これにより、sudo を使用しているため、クローンがキーのユーザーの .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 に答える