First of all, I am aware that this question has been posted several times in stack overflow here, here, here, as well as in some other places.
However, I decided to open a new thread (and taking the risk of being downvoted) because I don't think there is an actual issue with my machine, but with PUTTY.
Environment description
In a nutshell, I have a windows machine running a virtual machine (VMWare).
- Host machine: Windows 7 (64 bit)
- Guest machine: CentOS 6 with graphic windows environment.
- Network connection perfectly setup, so no problems with firewall. Both machines are pingeable from each other, and I can surf the internet from both
- Selinux disabled on guest machine
- Putty is properly configured (or so I think). The reasons to back up the statement is that I can SSH the guest machine from the host machine with the encrypted SSH keys that I created for that matter. However, I think there is still some configuration missing. Keep reading.
- I have configured GITOLITE on the guest machine, and it is up and running.
- Although not relevant for this issue, I have a Samba share configured on the guest machine, were I have all my repos. The share is accessible from the host machine, and I can edit the files with no problem whatsoever.
- VM Player 7
- Guest machine recently restarted and no additional commands have been issued.
- PUTTY installed in the host machine
Case scenario #1 (it works)
This case scenario describes the behaviour I expect to achieve. Basically, this procedure is being done within the VM itself. That means, by operating the machine through the VM Player.
- Open a terminal as root
- service sshd statusyields- openssh-daemon (pid 1557) is running...
- ssh-add -lyields- 2048 1b:31 [...] b8:de Git Admin (RSA),- 2048 d2:58 [...] f6:2b pando (RSA)and- (2048) be:9b [...] dc:e9 web (RSA). These are the three users I have configured in my virtual machine. The SSH keys have been automatically loaded and added to the list of identities of the SSH service.
- Log out as root from the CLI. I am now an standard user (the pandouser).
- Edit one file in one of the repos
- git commit -a -m "My message"is successful because the- Git Adminkey is in the identity list of the SSH agent
- git push origin masteris also successful, for the same reasons
Case scenario #2 (it does not work)
This case scenario describes the same procedure, but from the Putty terminal. I added to the Pageant the same SSH keys as described in Case Scenario #1, point 3. It looks like everything is Ok with Putty, because I can successfully SSH my virtual machine
- Open the Putty Terminal. I am logged in as user pando(which is one of the identities mentioned in Case Scenario 1).
- su
- service sshd statusyields- openssh-daemon (pid 1557) is running...(notice that it is the same result as we got in point #2 of the first case scenario)
- ssh-add -lyields- Could not open a connection to your authentication agent
- Because the previous step failed, I have all the issues described in the hyperlinked threads at the beginning of this post.
Now, I am familiar with that procedure of eval $(ssh-agent) and then to manually add the SSH keys on my SSH folder. In fact, I do that every time I SSH the virtual machine. But I actually prefer not to do it. 
I am also familiar with adding some script to the .bashsrc file, but the last time I did it, I got a colateral effect with Puppet.
So the basic question is: What's the difference betwen both case scenarios, even though I am using the same SSH keys? Is it that Pageant is not forwarding the keys? If so, why am I able to SSH my machine? Why should I change the .bashrc file of my pando user in the second case scenario, when I can achieve exactly the same thing without it in the first case scenario? I guess I am missing a fundamental piece of information here
Hope that makes sense.
Regards.
 
     
    
