gpt4 book ai didi

git - TeamCity - 来自代理的 Git 推送

转载 作者:太空狗 更新时间:2023-10-29 13:38:32 25 4
gpt4 key购买 nike

我有一个 TeamCity 服务器设置为使用“默认私钥”在代理上从 GitHub check out src 和 .ssh 中的配置文件,如下所示:

Host git@github.com
IdentityFile ~/.ssh/id_rsa.shop
StrictHostKeyChecking no

Host github.com
IdentityFile ~/.ssh/id_rsa.shop
StrictHostKeyChecking no

这很好用。现在我想从代理商那里 push 。但是,当我这样做时,推送命令由于用户输入而挂起:

The authenticity of host 'github.com (192.30.252.130' can't be established.
RSA key fingerprints is 'xxx....xxx'
Are you sure you want to continue (yes/no)
Warning: Permently added '' to known hosts.
Connection closed by 192.30.252.130
Fatal: The remote end hung up unexpectedly.

如果我手动执行此操作,无论我输入是/否,它仍然会失败,权限被拒绝。

根据 github,“默认私钥”具有读/写权限,所以我有点迷茫。我唯一观察到的是 github ip 看起来非常本地化,但是当代理刚刚完成代理端 checkout 时怎么会这样呢?这会是防火墙吗?

任何人都可以向我解释我缺少什么吗?

最佳答案

原来这个设置有一个很大的问题。显然出于某种原因,我不太了解调用 git 后用户上下文/配置文件发生了变化。这将改变主目录。这可以通过查看执行配置文件更改的 Git 等文件来验证,该文件名为:profile:

# Set up USER's home directory
if [ -z "$HOME" -o ! -d "$HOME" ]; then
HOME="$HOMEDRIVE$HOMEPATH"
if [ -z "$HOME" -o ! -d "$HOME" ]; then
HOME="$USERPROFILE"
fi
fi

if [ ! -d "$HOME" ]; then
printf "\n\033[31mERROR: HOME directory '$HOME' doesn't exist!\033[m\n\n"
echo "This is an error which might be related to msysGit issue 108."
echo "You might want to set the environment variable HOME explicitly."
printf "\nFalling back to \033[31m/ ($(cd / && pwd -W))\033[m.\n\n"
HOME=/
fi

# normalize HOME to unix path
HOME="$(cd "$HOME" ; pwd)"

我通过强制当前用户的主目录解决了这个问题:

set HOME=%env.USERPROFILE%

问题出在 git 的初始化脚本中。

此外,我必须将配置修改为:

Host webshop_github
HostName github.com
User git
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa.shop

关于git - TeamCity - 来自代理的 Git 推送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18917458/

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