ssh使用公钥和私钥来登录远程主机
使用的命令为ssh-keygen,该命令具体使用方法可以参考博客:
http://killer-jok.iteye.com/blog/1853451
例如:
本地主机A 用户a。
目标主机B 用户b IP:192.168.0.11。
1、生成公钥和私钥
在主机A的命令行下输入如下命令:
[a@localhost ~]$ ssh-keygen -t rsa
然后三次回车
就会在/home/a下生成.ssh目录,里面包含两个文件:id_rsa和id_rsa.pub
id_rsa是本机上的私钥,id_rsa.pub是远程主机B上的公钥。
我们会把公有密钥交给服务端,当需要从服务端请求内容的时候,要带上私有密钥。此时,服务器会通过一定的算法计算私有密钥,并判断计算的结果是否与公有密钥一样,如果不一样则响应请求失败。
2、将公钥复制到目标主机B
使用scp命令
[a@localhost ~]$ scp .ssh/id_rsa.pub [email protected]:/home/b/ Password: id_rsa.pub 100% 406 0.4KB/s 00:00
3、将公钥添加到authorized_keys授权文件中
使用ssh [email protected]登录B主机,输入命令
[b@B ~]$ cat id_rsa.pub >> .ssh/authorized_keys [b@B ~]$ chmod 600 .ssh/authorized_keys
600是文件使用权限(只有属主有读写权限)。
4、以上步骤完成,exit退出B,重新使用ssh命令登录不再需要密码。