osdir.com


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

How to use ssh-agent in windows in python?


? 2019-05-27 7:13, Cameron Simpson ??:
> On 26May2019 22:55, Fc Zwtyds <fczwtyds at gmail.com> wrote:
>> ?I am using cygwin on Windows 8.1. These two commands work fine in 
>> ?cygwin:
>> ssh-agent -s
>> ssh-add ~/.ssh /id_rsa
> 
> No, they run without error (apparently). That is? an entirely different 
> thing.
> 
> In particular, "ssh-agent -s" starts an agent but unless you make use of 
> its output, your subsequent commands will have no idea how to access it.
> 
> Since ssh-add (apparently) works, then I would guess you _already_ had 
> an agent, and it is adding to that agent's keys. And, importantly, 
> _ignoring_ the new agent you started.
> 
> Try running your commands above again, but _before_ them, run "ssh-add 
> -l". If that works then there's already an agent known to the shell and 
> your subsequent "ssh-add" is likely adding to that, not to the new agent 
> you dispatched.
> 
>> ?I tried to use them on windows cmd and it worked fine. Now I am going 
>> to use python to write code to implement the above command.
>> os.system('ssh-agent -s')
>> os.system('ssh-add id_rsa')
>> There was an error:
>> Could not open a connection to your authentication agent.
> 
> I'm presuming that as with UNIXy systems, os.system() on Windows issues 
> its commands to a distinct shell ( instance of cmd.exe or the like).
> 
> As such, since you've made no effort to catch and parse the output of 
> "ssh-agent -s" you don't know how to talk to the agent you started, and 
> further since you don't pass any information to the shell running 
> "ssh-add" then it doesn't know how to do that either.
> 
> Cheers,
> Cameron Simpson <cs at cskk.id.au>

Thank you very much for your detailed answer.
I will try to learn how to capture and parse the output of "ssh-agent 
-s" and learn how to talk to the agent.