I'm not sure if this is applicable, so if someone find this issue wrong - please 'wontfix' it.
Lets assume we have a Git repository hosted via ssh:// protocol. Access to that repository is via the ssh (rsa) private/public key authentication. Lets assume the repo contain submodules. So for example we have in .submodules
(where our repository is under ssh://git.company.com/projects/product.git)
In such scenario Bamboo Agents will do:
1) fetch the data from ssh://firstname.lastname@example.org:58505/projects/product.git -
PROXIED> ssh://git.company.com/projects/product.git to agent's Job working directory
2) bamboo issues "git submodule init; git submodule update" commands.
3) thus git notices there are some submodules defined (in "workDir/.submodules" file)
4) git will execute another fetch, this time from ssh://git.company.com/projects/core.git and will put it under ./submodules/core directory (note that here it is the Git that deduces the correct url from .submodules file, not the Bamboo).
5) finish (update the workspace, index, etc)
Now, problem is in step (4) - it won't go through Bamboo SSH proxy, and as it won't be proxied the Bamboo user will have to setup all Bamboo Agents correctly (with .ssh/config files and rsa-identity files). This can be PITA. Would be good if somehow Bamboo would work with submodules in more transparent way so the Bamboo user wouldn't have to do the setup manually.