linux中密钥验证的主要使用方法和使用步骤是什么?
大致的过程是: 当客户端希望通过SSH KEY 鉴权登录时,它会告诉服务端,并附带上自己的公钥KEY信息。服务端检查它的KEY文件,同时生成一个随机串,并且用公钥加密。加密过的随机串,只有客户端用自己的私钥才可以解。 一旦收到消息,客户端将用自己的私钥解密,获取到随机串,同时,将先前跟服务端商定的SESSIONID一起,再次做MD5一致性HASH(md5(randomKey,sessionId),发回给服务端。服务端也按同样的方式生成摘要,如果两者一致,则验证通过。
假设现在有两台Linux服务器 A 和 B,如何配置主机之间的免密ssh登陆? 第一步:在 A 的$HOME/.ssh/目录下,有两个文件:id_rsa.pub和id_rsa。前者是当前服务器当前用户的公钥,后者是当前服务器当前用户的私钥。如果没有,则使用如下命令生成密钥对:
ssh-keygen -t rsa
或者 ssh-keygen
(默认就是ras加密算法)
运行上面的命令以后,系统会出现一系列提示,可以一路回车。 图片描述
再输入下面的命令,将公钥传送到远程主机host上面:
ssh-copy-id
此后从A登录到,就不需要输密码了。
关于ssh-copy-id命令
作用:可以把本地主机的公钥复制到远程主机的authorized_keys文件上,也会给远程主机的用户主目录(home)和~/.ssh, 和~/.ssh/authorized_keys设置合适的权限。
语法:ssh-copy-id [-i [identity_file]] [user@]machine
实例:
ssh-copy-id server02
ssh-copy-id -i ~/.ssh/id_rsa.pub user@server
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。