意思即不使用密码验证方式和挑战式验证。
OK,使用密钥来验证用户的sshd服务器就配置好了。 以上方式只适合于linux到linux,很多人估计跟我一样,客户机使用putty或其他win版的ssh客户端,他们的配置稍微不一样点点,但原理都一样,以下简介使用putty实现密钥对验证用户的步骤。
1、下载完整的
putty软件包,我们使用软件包中的puttygen.exe生成密钥对。运行puttygen.exe,

2、选择要生成的密钥对的类型和长度,点击Generate,然后将鼠标放到“key”框中随意移动(产生随机数据),待到第一次的进度条走完后,生成密钥对。


3、生成密钥对后,可以修改密钥对的“Key comment”(密钥说明)、“Key passphrase”(密钥的使用密码)。 一切ok后,点击“Save public key”和"Save private key"分别保存公钥和私钥。公钥放到远程sshd服务器上,私钥供putty连接远程sshd服务器时使用。
使用任意方式将刚刚生成的公钥拷贝至远程sshd服务器上对应用户家目录里的.ssh目录内,改名为authorized_keys,同样最好是设置权限为600。
4、运行putty,在左侧树状分类目录里选择“Data”,在右侧窗口中“Auto-login username”处填写自动登录用户名

5、再在左侧树状分类目录里选择“Auth”,在右侧“Private key file for authentication:”处填写刚刚使用puttygen.exe生成的私钥,

6、登录远程服务器,你会发现没输用户密码我们就已经登录到远程sshd服务器了(当然如果私钥受密码保护,还要输入私钥的使用密码)。

怎么样?还算简单噻?
现在是不是觉得还是不够方便? 每次使用有密码保护的私钥的时候,要输入私钥的保护密码,跟输入系统用户密码没太大差别,别急,putty想到这点了!
运行putty软件包里的“pageant.exe”,
这是私钥代理,帮你缓存你输入过的私钥密码,只要不退出pageant,就不需要重复输入私钥的保护密码,方便了噻。
pageant的使用方法很简单,点击pageant的图标,出现如下窗体:


点击“Add key”,将你要使用的密钥导入,然后输入密钥的保护密码就ok了,


以后再使用对应的私钥都不需重复输入私钥密码了。
总结:
1、ssh使用的密钥有两种 rsa和dsa,对应两种不同的加密算法,前者弱点,后者要优秀点,所以dsa被使用在ssh2版本中。
2、密钥对在客户机上生成和在服务器上生成是一样的。
3、服务端验证用户的公钥文件名可以通过更改
/ets/ssh/sshd_config里的
AuthorizedKeysFile关键字来更改,默认为
.ssh/authorized_keys。
4、客户端用于验证的私钥文件名可以通过更改
/etc/ssh/ssd_config里的
IdentityFile关键字来更改,
默认为:
~/.ssh/identity、
~/.ssh/id_rsa和
~/.ssh/id_dsa。
5、openssh生成的私钥不能直接给putty使用,用putty包里的puttygen转换一下即可。