「Linux 环境部署」Linux SSH免密登陆

「Linux 环境部署」Linux SSH免密登陆

一、免密登陆原理

如果我们有两台Linux 服务器:server A & server B
如果我们需要从server A ssh远程到server B,这时是需要提供被远程服务器密码的。

#ssh 命令 ssh [主机名/IP]
ssh server B 

但我们可以通过配置免密登陆的方式跳过这个过程。
免密登陆的原理是不对称加密

  1. 不对称加密

    不对称加密是生成一个密钥对,实质上是两个文件,公钥和私钥
    公钥:相当于是一把锁,用来提供出来加密
    私钥:相当于锁的钥匙,用来解密
    公钥只能用和它一起生成出来的私钥来解密

  2. 对称加密

    相反的加密和解密都用一个密钥的方式称为:对称加密

二、ssh 免密登陆配置

  1. 生成密钥对

    如果我们希望从server A 远程到 server B, 那么我们就在server A上来生成密钥对

    我们通过使用linux 命令 ssh-keygen 命令来生成密钥对,该命令的 -t 参数用来指定加密算法,执行命令一路回车即可。

    ssh-keygen -t rsa
    

    在这里插入图片描述

    如上图我们可以看到生成的密钥文件存放在了 /root/.ssh 目录下

    在这里插入图片描述

    id_rsa 是私钥文件
    id_rsa.pub是公钥文件

  2. 将公钥拷贝至被远程服务器

    我们可以通过 ssh-copy-id 命令来将公钥拷贝至被远程服务器,该命令有一个 -i 参数用来指定密钥文件

    # 命令 ssh-copy-id -i [公钥文件] [用户名]@[主机名/IP]
    ssh-copy-id -i .ssh/id_rsa.pub root@bigdata222
    

    在这里插入图片描述

    执行命令后会提示输入被远程服务器密码,密码验证后密钥就拷贝完成了,这时候我们可以登陆到被远程服务器,密钥会被保存至用户的.ssh/authorized_keys 文件中

    在这里插入图片描述

    至此ssh免密登陆配置结束,直接ssh [主机名/IP] 就可以远程到服务器了


by sure

猜你喜欢

转载自blog.csdn.net/qq_33520945/article/details/85305029