我花了大约3个小时,试图找出如何从我的Windows机器使用腻子连接到一个Linux机器,而不必发送密码。
这是连接到使用OpenSSH的Ubuntu服务器。 私钥是SSH-2 RSA,1024位。 我正在使用SSH2连接。
我已经遇到了更常见的问题:
我所掌握的唯一剩余的信息是它声称我所称的密码错误:
sshd[22288]: Failed password for zzzzzzz from zz.zz.zz.zz port 53620 ssh2
即使如此,据我所知,这只是一个懒惰的尝试/抓住某处,因为我不认为有一个密码参与 。
我在任何使用的/ var / log文件中都没有看到其他内容。 还有什么可能是错的?
select all copy 。 .ssh/authorized_keys ,并粘贴您的密钥,从您试图跟随该video时删除任何其他预先存在的东西。 ~/.ssh文件夹是0700与chmod 0700 ~/.ssh/ 0600所以chmod 0600 ~/.ssh/authorized_keys 。 
这意味着密钥交换没有发生或失败。
请下载cli工具plink.exe(您下载putty.exe的地方)并进行一些debugging
plink -v -i yourprivatekeyfile user@server
看看它告诉你什么,除了服务器说什么。
您可以在PowerShell或cmd窗口中执行此操作。
如果您已经生成了默认的putty公共文件,则可以将其转换为
ssh-keygen -i -f yourputtypubkeyfile> openssh.key
被添加到您的authorized_keys
按照@Zoredache的build议生成密钥对并将公钥存储在服务器上。 input用于保护私钥的密码,然后单击Save private key并将密钥保存在用户configuration文件中。 从密钥文件中除去您自己的所有权限。
为了能够使用您的私钥进行身份validation,您需要将其提供给PuTTY。 或者用Pageant 加载它,或者在Connection > SSH > Auth下的PuTTYconfiguration对话框中input它(单击Browse...并select刚刚保存的文件)。
在同一个对话框中,类别Session在相应的字段中input您要连接的主机的主机名或IP地址。 切换到子类别Logging ,然后单击All session output ,然后单击Open 。
terminal窗口打开后,右键单击标题栏并select“ Event Log 。 这个客户端日志补充了服务器端的auth.log ,并且可以帮助你了解到底是怎么回事。