SSH免密登录

环境:4台Linux RedHat 6.4 机器(192.168.1.126、192.168.1.127、192.168.1.128、192.168.1.130),

           配置各台机器hadoop 用户的免密认证登陆,建立相互信任关系

1. 基础准备

  •        4台机器分别:清空用户家目录/home/hadoop/下的.ssh文件夹(有其他重要文件可先行查看备份)

  • 关闭防火墙 + 优化SELinux 

 https://blog.csdn.net/daoxu_hjl/article/details/85642931

2. 生成密钥文件

  4台机器分别操作一次:

ssh-keygen -t rsa

说明:ssh-keygen -t [rsa|dsa],将会生成私钥文件和公钥文件 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub; -t 用来指定加密方式,若不指定,默认rsa,建议使用rsa

 

3. 交出公钥,建立单向信任关系

   A机器若要免密访问B机器,则B机器中一定要存在A机器的公钥:即/home/hadoop/.ssh/authorized_keys中存在A机器id_rsa.pub文件的内容

   127,128,130机器分别交出自己的公钥给126:

   

ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@192.168.1.126

若B机器不存在.ssh文件夹或authorized_keys文件,则会自动创建对应目录或文件;若已存在则将A的公钥附加到authorized_keys文件中(不会覆盖原内容))

 

查看126的authorized_keys 可以发现存在其他3台机器的公钥文件内容

 

然后在126上,将126自身的公钥文件内容也附加到authorized_keys,建立与本身的免密关系:

cat id_rsa.pub  >> authorized_keys

 

注:也可以通过scp或手动创建复制 生成authorized_keys文件及其包含的公钥内容

4. 共享authorized_keys文件到各台机器,建立双向信任关系

   将126上包含所有机器公钥的authorized_keys文件分发到其他机器~./.ssh/目录下

scp ~/.ssh/authorized_keys hadoop@192.168.1.127:~/.ssh/
scp ~/.ssh/authorized_keys hadoop@192.168.1.128:~/.ssh/
scp ~/.ssh/authorized_keys hadoop@192.168.1.130:~/.ssh/

 

 

注:1. 也可以通过NFS方式共享服务端的authorized_keys文件 --> 便于修改:

(NFS文件共享参考:https://blog.csdn.net/daoxu_hjl/article/details/85416475)

      授权文件放入共享目录: mv authorized_keys /opt/share

      各节点机器分别创建 ~/.ssh/ 下授权文件的软链接文件: ln -s /opt/nfs_share/authorized_keys ~/.ssh/authorized_keys

      只能本用户具有对密钥文件的写权限,必须修改权限: chmod 644 ~/.ssh/authorized_keys

     ps: 若修改权限失败,则需要查看共享目录映射的属主是否正确(可能NFS客户端用户与服务的用户的uid&gid不一致,nfs根据id映射权限)

     

      2.  免密码后可能依然有一个提示性验证,需要手动输入yes  --> 影响后续程序间的交互

vim /etc/ssh/ssh_config 

# 在/etc/ssh/ssh_config 文件末尾添加:

Host *
   StrictHostKeyChecking no
   UserKnownHostsFile=/dev/null

 

3. 配置后依然无法生效: 文件或文件夹权限问题

文件权限: chmod 600 ~/.ssh/*

文件夹权限: chmod 700 ~/.ssh 

(如果依然不行,将.ssh的上级目录也设置700权限)

具体报错可以查看日志:tail -30 /var/log/secure

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值