如何构建密钥对验证的SSH体系

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何构建密钥对验证的SSH体系相关的知识,希望对你有一定的参考价值。

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工具创建的公钥文本时应确保此部分信息完整,最后的[email protected]是注释信息(可有可无)

    注意!这个文件同组或者是其他用户对该文件不能有写入的权限。还应该确保服务器支持秘钥对验证的方式,可参考上一篇如何在sshd_config中开启密钥对认证功能。

技术分享


四,在客户端使用秘钥对验证技术分享


本文出自 “新起点” 博客,请务必保留此出处http://yuanshuai.blog.51cto.com/10539781/1750120

以上是关于如何构建密钥对验证的SSH体系的主要内容,如果未能解决你的问题,请参考以下文章

在Linux服务器客户端中构建密钥对验证进行远程连接

远程访问控制的某某某

Centos 7.4中的远程访问控制

RSA公钥体系 与在 ssh中免密的登陆的应用

RSA公钥体系 与在 ssh中免密的登陆的应用

RSA公钥体系 与在 ssh中免密的登陆的应用