1、在客户端建立密钥对
在linux客户机中,经过ssh-keygen工具为当前用户建立密钥对文件。可用的加密算法为RSA或DSA(-t选项用于指定算法类型)
ssh-keygen -t rsa
Enter file in which to save the key (/root/.ssh/id_rsa): 指定私钥位置
Enter passphrase (empty for no passphrase): 设置私钥短语
Enter same passphrase again: 确认所设置的短语
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
5b:4c:73:0e:dc:15:77:0e:40:12:51:d0:36:01:4c:54 root@localhost.localdomain
The key's randomart p_w_picpath is:
+--[ RSA 2048]----+
| +OXEo+.o|
| ..o+. +.|
| =.o. .|
| o = |
| S o . |
| o |
| . |
| |
| |
+-----------------+
在/root/.ssh下生成密钥文件
2、将公钥文件上传至服务器
能够选择FTP、Samba等任何方式上传
scp ~/.ssh/id_rsa.pub root@192.168.110.30:/tmp/
3、在服务器中导入公钥文本
在服务器中,目标用户(指用来远程登陆的帐号)的公钥数据库位于~/.ssh/目录,默认的文件名是authorized_keys。
当得到客户机发送过来的公钥文件之后,能够经过重定向将公钥文本内容追加到目标用户的公钥数据库。
mkdir -p /home/cc/.ssh/
cat /tmp/id_rsa.pub >> /home/cc/.ssh/authorized_keys
tail -1 /home/cc/.ssh/authorized_keys
在公钥库authorized_keys文件中,最关键的内容是“ssh-rsa加密字串”部分,应确保此部分信息完整。
4、在客户端使用密钥对验证
ssh cc@192.168.110.30
输入私钥短语
若是在先前使用加密算法生成密钥对的过程当中没有设置私钥短语,会实现无口令登陆直接登入服务器(从安全角度考虑不建议这么作)。
|