若想登录对方主机,而不需要输入密码,操作如下:
首先在自己主机上执行
ssh-keygen -t rsa
三次回车
在~/.ssh生成公私钥:id_rsa.pub id_rsa
将id_rsa.pub拷贝到对方的~/.ssh中(记得重命名,如my.pub)
在对方的.ssh中新建一个authosized_keys,如果已存在,则不需要重建:
cd ~/.ssh
touch authorized_keys
cat my.pub>>authorized_keys
好了,现在在自己的机器上登录对方的机器就不需要输入密码了。
密匙认证需要依靠密匙,首先创建一对密匙(包括公匙和密匙,并且用公匙加密的数据只能用密匙解密),并把公匙放到需要远程服务器上。这样当登录远程服务器时,客户端软件就会向服务器发出请求,请求用你的密匙进行认证。服务器收到请求之后,先在你在该服务器的宿主目录下寻找你的公匙,然后检查该公匙是否是合法,如果合法就用公匙加密一随机数(即所谓的challenge)并发送给客户端软件。客户端软件收到 “challenge”之后就用私匙解密再把它发送给服务器。因为用公匙加密的数据只能用密匙解密,服务器经过比较就可以知道该客户连接的合法性。
参考:http://hi.baidu.com/yangjinbo47/item/3de399d6f932f92d38f6f73c