ssh公私钥免密登陆

前言

今天给大家带来的是ssh公私钥认证免密登陆

简介ssh
Secure Shell(简写SSH) 为一项建立在应用层和传输层基础上的安全协议,专门为远程登录会话和其他网络服务提供安全性的协议。

SSH安全机制分为两种,一种是基于口令的安全认证,一种是基于秘钥的安全认证。
对于口令的安全认证,必须知道用户名密码才可以登录,率嫌麻烦,就不如用到公私钥免密认证,只要将公钥发送到目标主机,这时候就可以免去输密码的麻烦了。

密钥认证

  1. 确保两台机器的ssh服务开启

  2. ssh配置:
    编辑两台服务器的 /etc/ssh/sshd_config 文件,使用命令:vim /etc/ssh/sshd_config 。
    去掉以下3行的 “#” 注释:

    RSAAuthentication yes
    PubkeyAuthentication yes
    AuthorizedKeysFile .ssh/authorized_keys

  3. 进入/root/.ssh目录下删除公私钥文件,使用ssh-keygen生成公私钥
    在这里插入图片描述

  4. 按3个回车,密码为空。最后得到了两个文件:id_rsa和id_rsa.pub

  5. 将公钥发送到目标主机/root/.ssh目录下,并改名为authorized_keys(很重要的一点,一定要改名字的)

    scp id_rsa.pub [email protected]:/root/.ssh/authorized_keys

在这里插入图片描述
6. 这时候再用ssh连接就可以直接登录而不需要密码

在这里插入图片描述