不同用户可以切换用户按照同样的步骤生成公钥,(如果使用文末的脚本,需要修改对应的脚本),实现对应用户免密登录,本篇文章是以root用户为例
一、在本地linux系统中生成公钥和私钥
# 进入目录
cd ~/.ssh/
# 创建秘钥
ssh-keygen -t rsa
一直回车即可
其中id_rsa.pub为公钥
二、添加公钥
本质上就是将公钥的内容追加到目标服务器的 ~/.ssh/authorized_keys文件中
三、验证
ssh -o StrictHostKeyChecking=no root@目标服务器ip地址
-o StrictHostKeyChecking=no : 去掉对主机的验证
脚本内容
#! /bin/bash
key="公钥中的内容"
cd ~
mkdir -p .ssh
cd .ssh
touch authorized_keys
if cat 'authorized_keys' | grep "root@gitlab.dev" > /dev/null
then
echo "此服务器已初始化完成,无需再次初始化"
else
echo $key>>authorized_keys
fi
其中 root@gitlab.dev 为公钥末尾信息,该行用于判断该用户及该服务器是否已被添加到免密登录名单中
将脚本拷贝到目标服务器,执行脚本
sh 脚本名称.sh