Closed mhoff closed 7 years ago
I have further tracked down the issue.
rsync $REMOTE_HOST:/ .
fails to prompt for the passphrase with MATCH_ARGV = [... (r"$REMOTE_HOST", "v8") ...]
being configured.
I modified ssh-ident
to print argv
supplied to main
when being called.
Directly executed, /home/mhoff/.bin/ssh $REMOTE_HOST rsync --server --sender -e.Lsfx . /
is able to prompt for the passphrase correctly.
Consequently, something in between rsync
and the call to ssh
leads to the above problem.
I checked the environment being called in (os.environ
), but the only difference between both calls is that the executed binary differs (/usr/bin/rsync
versus the path to my test script).
I really don't know how to proceed from here. I even checked whether SSH_ASKPASS
is set before calling the evil subprocess.Popen
but found nothing.
When syncing some local stuff with my remote host
rsync
asks for the passphrase withssh-askpass
, even though this program is not installed on my system (I want to stick with this). As the program is not installed, adding the identity fails and the generic fallback identity is tried.I set up
ssh-ident
as an executable in my$PATH
. This is the output (VERBOSITY = LOG_DEBUG
) I receive when running thersync
command:Plainly, adding the identity to the agent triggers
ssh-askpass
. I tracked down the following method being responsible inssh-ident
:The weird thing is that when I execute the above code in a standalone script everything works fine.
Script
Output
In the
rsync
command, I can add-i $IDENTITY_PATH
to thessh
call. Then, the error still occurs, but the "fallback" identitiy is the given identity and the right prompt is used: