你想在Cygwin下用ssh的公钥私钥的验证方式来登录服务器。

首先你得用ssh-keygen在~/.ssh目录下面生成了一对公钥和私钥:id_rsa.pubid_rsa。然后把id_rsa.pub的内容拷到服务器的~/.ssh/authorized_keys文件中,之后登录该服务器的时候,ssh就会优先使用公钥私钥验证了。

可是你对私钥设了一个非常强劲的口令,结果每次用ssh登录的时候都要需要验证这个口令,每次输入都非常麻烦!ssh-agent就是用来解决这个问题的!我们只输入一次口令后,ssh-agent将口令缓存下来,以后每次登录的时候就不需要重复输入了!这里有详细介绍ssh-agent的使用

ssh-agent在Cygwin下面的使用可以参考这篇文章。配置每次打开mintty的时候自动运行ssh-agent, 把下面的代码加入~/.bash_profile

关于ssh-agent-forwarding

如果你维护的服务器非常多,经常需要登录到一个服务器后,再从这个服务器登录到其它服务器,ssh-agent的forwarding功能就变得非常有用了。只要你把公钥都拷贝到这些服务器上,ssh-agent可以让你在这些服务器间畅通无阻,不用再输入密码。

Agent Forwarding功能需要在.ssh/config文件中开启:

上面的配置只对example.com生效,下面的配置可以全面生效:

参考Github的帮助或者unixwiz上详尽的解释