CentOS配置非root用户免密登录

CentOS配置非root用户免密登录

1、准备工作

1、确认ssh服务已经安装并打开;
2、打开文件/etc/ssh/sshd_config,确保以下配置已经添加(如果被"#“注释了就把”#"删除):

AuthorizedKeysFile      .ssh/authorized_keys
PubkeyAuthentication yes

3、三台机器的/etc/hostname文件中的内容分别是node0、node1、node2;
三台机器的/etc/hosts文件尾部都添加以下三行内容(请按照自己机器的ip地址来填写):

ip node0
ip node1
ip node2

4、使用useradd命令在三台机器上创建非root账号,usera、userb、userc

5、创建完账号后记得用命令passwd初始化账号的密码;

6、在node0机器上输入ssh userb@node1,尝试ssh登录node1,此时由于未配置免密码登录,所以控制台要求输入node1的密码。

2、免密配置

1、生成秘钥(每台机器都要执行)

## 执行如下指令,以非root用户生成秘钥文件,usera、userb、userc
ssh-keygen

2、配置秘钥授权文件

1、## 以usera用户生成一个空白文件,authorized_keys
touch ~/.ssh/authorized_keys
2、## 将node0自己的公钥放入文件authorized_keys中
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
3、## 以userb用户,将node1的公钥传输到node0机器,文件名为node1.id_rsa.pub
scp ~/.ssh/id_rsa.pub hadoop@node0:~/.ssh/node1.id_rsa.pub
4、## 在node0机器上,将node1.id_rsa.pub的内容写入authorized_keys文件
cat ~/.ssh/node1.id_rsa.pub >> ~/.ssh/authorized_keys
5、## 以userc用户,将node2的公钥传输到node0机器,文件名为node2.id_rsa.pub
scp ~/.ssh/id_rsa.pub hadoop@node0:~/.ssh/node2.id_rsa.pub
6、## 在node0机器上,将node2.id_rsa.pub的内容写入authorized_keys文件
cat ~/.ssh/node2.id_rsa.pub >> ~/.ssh/authorized_keys
7、## 此时authorized_keys文件中已经有了node0、node1、node2的公钥;

3、同步秘钥授权文件

##以usera账号登录node0机器,执行以下命令将秘钥授权文件同步到node1、node2机器:
scp ~/.ssh/authorized_keys userb@node1:~/.ssh/
scp ~/.ssh/authorized_keys userc@node2:~/.ssh/
## 至此,秘钥授权文件已经同步到所有机器,如果前面的所有操作用的是root账号,此时已经可以免密码登录成功了,但是今天我们用的不是root账号,此时在node0输入命令ssh userb@node1,却发现依然要求输入node1的账号的密码,这是因为文件和文件夹权限的问题导致的,接下来解决权限问题;

4、调整文件夹和文件的权限

chmod 700  ~/.ssh
chmod 600  ~/.ssh/authorized_keys
## 至此,非root账号的SSH免密码登录配置已经完成
  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值