「Linux 环境部署」Linux SSH免密登陆
一、免密登陆原理
如果我们有两台Linux 服务器:server A & server B
如果我们需要从server A ssh远程到server B,这时是需要提供被远程服务器密码的。
#ssh 命令 ssh [主机名/IP]
ssh server B
但我们可以通过配置免密登陆的方式跳过这个过程。
免密登陆的原理是不对称加密。
-
不对称加密
不对称加密是生成一个密钥对,实质上是两个文件,公钥和私钥
公钥:相当于是一把锁,用来提供出来加密
私钥:相当于锁的钥匙,用来解密
公钥只能用和它一起生成出来的私钥来解密 -
对称加密
相反的加密和解密都用一个密钥的方式称为:对称加密
二、ssh 免密登陆配置
-
生成密钥对
如果我们希望从server A 远程到 server B, 那么我们就在server A上来生成密钥对
我们通过使用linux 命令 ssh-keygen 命令来生成密钥对,该命令的 -t 参数用来指定加密算法,执行命令一路回车即可。
ssh-keygen -t rsa
如上图我们可以看到生成的密钥文件存放在了 /root/.ssh 目录下
id_rsa 是私钥文件
id_rsa.pub是公钥文件 -
将公钥拷贝至被远程服务器
我们可以通过 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