ssh配置公钥_CentOS配置SSH免密登陆

环境:CENTOS8

需求:为部署HADOOP分布集群,需要在三台服务器之间实现SSH免密登录。步骤如下

1. 在三台服务器上创建用户,需要切换到root或管理员用户

adduser hadoop  # 创建用户
passwd hadoop   # 设置密码

# 添加sudo权限
vi /etc/sudoers
# 按照 <用户名> <权限> <切换sudo时是否需要输入密码> 添加记录,示例
# Allows people in group wheel to run all commands
username  ALL=(ALL)  ALL

2. 添加sudo权限

vi /etc/sudoers

按照 <用户名> <权限> <切换sudo时是否需要输入密码> 添加记录,示例

# Allows people in group wheel to run all commands
username  ALL=(ALL)  ALL

3. 安装 openssh-server,已安装可跳过。

dnf install -y openssh-server

4. 切换到 hadoop 用户,制作密钥

su hadoop
cd ~/.ssh
ssh-keygen -t rsa # 提示可略过,一路回车即可

成功后,在 ~/.ssh/ 目录下可以看到 id_rsa.pub 等密钥文件

5. 添加本地公钥到授权文件

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

# 修改授权文件权限, 否则ssh登录会报错
sudo chmod 600 authorized_keys

7. 检查本地登录是否免密

ssh localhost

如果提示需要密码,则检查以下情况:

authorized_keys 文件是否添加公钥;

less authorized_keys

ssh配置文件是否正确

# 检查ssh配置文件
sudo vi /etc/ssh/ssh_config

其中 PasswordAuthentication 的值改为no

8. 测试本地SSH登录

ssh localhost

可免密登录即为正常

9. 发送公钥到目标服务器,hostname和用户都已经配置好,且能ping通

scp ~/.ssh/id_rsa.pub <username>@<hostname>:/home/<username>

10. 登录目标服务器,添加公钥到授权文件

cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

坑 :

1、需要提前创建好用户,并配置好sudo等权限

2、auth授权文件的权限需要改为600,否则即使sshd配置正确也不能免密登陆。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值