Git : Fetching from a different Windows account fails in a submodule (but not on top-level repo)
I know the formulation sounds strange, but this is in fact the root cause. Say I have two Windows accounts, usernames Bob and John. On both I have the same private/public SSH key set up in the < username >/.ssh folder. This key is registered on the remote server and therefore known to it. For the record, the username I use to log in to the web interface of the remote is Bob. In the .git/config file of my local copy of the project repo I have the remote and all submodules set up like this :
[remote "origin"]
url = ssh://Bob@remote.server.com:<port>/project_XY
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[submodule "moduleA"]
url = ssh://Bob@remote.server.com:<port>/module_A
I can fetch without any problems from the top-level repo from either account.
Now from the John account, when I fetch (from the same folder which is the same clone of the same repo from the same remote server) in submodule A, I get :
John@Computer MINGW64 /c/project/sources/module_A (master)
$ git fetch
John@remote.server.com's password:
And git submodule update
will be blocked at the first submodule it encounters and stay stuck there (waiting for a password input but suppressing the console output I showed above when fetching directly from the submodule folder).
And there I'm stuck because John isn't a registered user on the remote server. How to change this behavior permanently so that it either uses the SSH key transparently (since this key works on Bob's account) or uses Bob's username even from John's account ?
Thanks in advance.
git ssh git-submodules git-fetch
add a comment |
I know the formulation sounds strange, but this is in fact the root cause. Say I have two Windows accounts, usernames Bob and John. On both I have the same private/public SSH key set up in the < username >/.ssh folder. This key is registered on the remote server and therefore known to it. For the record, the username I use to log in to the web interface of the remote is Bob. In the .git/config file of my local copy of the project repo I have the remote and all submodules set up like this :
[remote "origin"]
url = ssh://Bob@remote.server.com:<port>/project_XY
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[submodule "moduleA"]
url = ssh://Bob@remote.server.com:<port>/module_A
I can fetch without any problems from the top-level repo from either account.
Now from the John account, when I fetch (from the same folder which is the same clone of the same repo from the same remote server) in submodule A, I get :
John@Computer MINGW64 /c/project/sources/module_A (master)
$ git fetch
John@remote.server.com's password:
And git submodule update
will be blocked at the first submodule it encounters and stay stuck there (waiting for a password input but suppressing the console output I showed above when fetching directly from the submodule folder).
And there I'm stuck because John isn't a registered user on the remote server. How to change this behavior permanently so that it either uses the SSH key transparently (since this key works on Bob's account) or uses Bob's username even from John's account ?
Thanks in advance.
git ssh git-submodules git-fetch
add a comment |
I know the formulation sounds strange, but this is in fact the root cause. Say I have two Windows accounts, usernames Bob and John. On both I have the same private/public SSH key set up in the < username >/.ssh folder. This key is registered on the remote server and therefore known to it. For the record, the username I use to log in to the web interface of the remote is Bob. In the .git/config file of my local copy of the project repo I have the remote and all submodules set up like this :
[remote "origin"]
url = ssh://Bob@remote.server.com:<port>/project_XY
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[submodule "moduleA"]
url = ssh://Bob@remote.server.com:<port>/module_A
I can fetch without any problems from the top-level repo from either account.
Now from the John account, when I fetch (from the same folder which is the same clone of the same repo from the same remote server) in submodule A, I get :
John@Computer MINGW64 /c/project/sources/module_A (master)
$ git fetch
John@remote.server.com's password:
And git submodule update
will be blocked at the first submodule it encounters and stay stuck there (waiting for a password input but suppressing the console output I showed above when fetching directly from the submodule folder).
And there I'm stuck because John isn't a registered user on the remote server. How to change this behavior permanently so that it either uses the SSH key transparently (since this key works on Bob's account) or uses Bob's username even from John's account ?
Thanks in advance.
git ssh git-submodules git-fetch
I know the formulation sounds strange, but this is in fact the root cause. Say I have two Windows accounts, usernames Bob and John. On both I have the same private/public SSH key set up in the < username >/.ssh folder. This key is registered on the remote server and therefore known to it. For the record, the username I use to log in to the web interface of the remote is Bob. In the .git/config file of my local copy of the project repo I have the remote and all submodules set up like this :
[remote "origin"]
url = ssh://Bob@remote.server.com:<port>/project_XY
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[submodule "moduleA"]
url = ssh://Bob@remote.server.com:<port>/module_A
I can fetch without any problems from the top-level repo from either account.
Now from the John account, when I fetch (from the same folder which is the same clone of the same repo from the same remote server) in submodule A, I get :
John@Computer MINGW64 /c/project/sources/module_A (master)
$ git fetch
John@remote.server.com's password:
And git submodule update
will be blocked at the first submodule it encounters and stay stuck there (waiting for a password input but suppressing the console output I showed above when fetching directly from the submodule folder).
And there I'm stuck because John isn't a registered user on the remote server. How to change this behavior permanently so that it either uses the SSH key transparently (since this key works on Bob's account) or uses Bob's username even from John's account ?
Thanks in advance.
git ssh git-submodules git-fetch
git ssh git-submodules git-fetch
edited Nov 26 '18 at 16:13
Charles
asked Nov 26 '18 at 9:56
CharlesCharles
167215
167215
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53478574%2fgit-fetching-from-a-different-windows-account-fails-in-a-submodule-but-not-on%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53478574%2fgit-fetching-from-a-different-windows-account-fails-in-a-submodule-but-not-on%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown