事实上,在多台服务器之间操作,免不了scp之类的命令,每次都输入密码很繁琐,而且有些安全系统高的机器,密码相当难记。。
后来配置了ssh的免密码登录,类似的教程网上一堆,如http://chenlb.iteye.com/blog/211809
只不过一直没明白它的原理,每次用到都要再google一下,今天认真想了想,原理应该是这样的。
假设S为服务器端,C为客户端,C有S的访问密码,或者说C有S的访问权限。
那么免密码登录的原理就是在S一端存放那些有访问权限的C端的身份认证。
即,在C端以ssh-gen命令生成一对公/私钥,私钥放在C端,公钥上传到S端。
这样,每次从C登录S的时候,C端凭借着私钥让服务器端认证自己(具体见:http://hi.baidu.com/shirdrn/blog/item/523aec06fb28ae7d02088193.html)。
另一个问题,生成的公、私钥其实跟C端持有的密码(登录S需要的密码)没有关系,之前我总以为这两者有关系,其实没有任何关系。
这个密码只在C端把公钥上传到S端的时候用一次,以后就完全依靠SSH了