what?什么是密钥对验证的SSH体系?
SSH支持两种验证方法,一种是用户身份验证另一种是密钥对验证,本文主要讲解如何实现密钥对验证。
why?使用密钥对验证的好处?
密钥对验证更加安全,并且可以免交互。使用起来更加安全、便捷。
where?应用在哪里?
可应用于OpenSSH,实现更加安全、免交互的远程登录、拷贝、复制等操作。
how?如何实现?
下图为在Linux服务器、客户机中构建密钥对验证SSH体系的基本过程。
一,在客户端创建秘钥对
在linux客户机中,通过ssh-keygen工具创建秘钥对文件,可用的加密算法为RSA或DSA。
命令格式:ssh-keygen -t 算法 //默认是RSA算法
上述过程中一般按enter键即可,如果需要设置秘钥短语可以根据提示输入,私钥短语用来保护私钥文件,当使用该私钥进行验证的时候需要使用短语进行验证。
注意!私钥文件(id_rsa)的默认权限为600,公钥文件(id_rsa.pub)的默认为644,私钥文件的权限不要进行修改,不要将私钥泄露给任何人!
二,将公钥文件上传至服务器
使用scp 命令将公钥文件上传到远程服务器的opt目录下(目录的位置随便)
三,在服务器端导入公钥
在服务器中,目标用户(用于远程登录的账户lisi)的公钥位于~/.ssh目录,默认的文件名是authorized_keys。当获得客户机发送过来的公钥文件后,可以通过重定向将公钥文件内容追加到目标用户的公钥数据库中。
在公钥数据库authorized_keys文件中,最关键的内容是"ssh-rsa"加密字串部分,当导入非ssh-keygen工具创建的公钥文本时应确保此部分信息完整,最后的zhangsan@ys是注释信息(可有可无)
注意!这个文件同组或者是其他用户对该文件不能有写入的权限。还应该确保服务器支持秘钥对验证的方式,可参考上一篇如何在sshd_config中开启密钥对认证功能。
转载于:https://blog.51cto.com/yuanshuai/1750120