ssh免密登录

      ssh免密登录设置给出了单机的免密登录和集群的免密登录案例。

一、单机免密登录

1 生成密钥

        执行 ssh-keygen -t rsa ( 其中 rsa 是非对称算法)

        一路回车到底,生成密钥

       且生成之后会在用户的根目录生成一个 “.ssh”的文件夹

2 添加公钥到

       将 公钥内容追加到 authorized_keys 中:

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

      或则 

ssh-copy-id hadoop001  (前提需要在 /etc/hosts中配置ip映射的主机名,并设置主机名,如 下图)

注意:如果没有配置主机名,则使用IP方式:ssh-copy-id root@192.168.56.128

3 进行免密访问

    在本机 ssh hadoop001 测试

   如果登录失效,则进行4、5、6设置后,再次执行ssh hadoop001 测试。

修改 .ssh目录的权限

     修改 .ssh目录的权限必须是700

     chmod 700 ~/.ssh

5 修改 authorized_keys 权限

    .ssh/authorized_keys文件权限必须是600

    chmod 600 ~/.ssh/authorized_keys

6 设置设置免密登录失效

   设置免密登录后,ssh hadoop001 时候,仍然需要输入密码,则进行一下设置:

vi /etc/ssh/sshd_config
PasswordAuthentication yes   
PermitRootLogin yes
PubkeyAuthentication yes

RSAAuthentication yes (如果是vagrant则需要在 /etc/ssh/ssh_config 修改 )

重启sshd

systemctl restart sshd

二、集群免密登录

     本集群以三台机器为例,三台之间相互免密,三台分别是hadoop001、hadoop002、hadoop003

1、设置映射

  hadoop001、hadoop002、hadoop003三台机器分别配置 /etc/hosts 文件


127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.56.128 hadoop001
192.168.56.129 hadoop002
192.168.56.130 hadoop003

2、生成密钥

      hadoop001、hadoop002、hadoop003三台机器分别执行:ssh-keygen -t rsa

  • hadoop001 执行 ssh-keygen -t rsa 
  • hadoop002 执行 ssh-keygen -t rsa  
  • hadoop003 执行 ssh-keygen -t rsa 

3、拷贝公钥

        hadoop001、hadoop002、hadoop003三台机器都执行以下命令 ,目的是将三台机器的公钥(id_ras.pub)全部拷贝到hadoop001主机上的 authorized_keys 文件中。

  • hadoop001 执行 ssh-copy-id hadoop001  
  • hadoop002 执行 ssh-copy-id hadoop001  
  • hadoop003 执行 ssh-copy-id hadoop001  

     此时 hadoop001中/root/.ssh/authorized_keys 已经包含了三台机器的公钥。

4、修改权限(此步根据情况可不执行)

修改  ~/.ssh 权限  和  authorized_keys 权限

 ~/.ssh  默认权限是 700,即 'drwx------.'

 authorized_keys 是600,即 '-rw-------.'

如果权限不是以上权限,则需要执行下面命令修改:

      三台机器分别修改 ~/.ssh 权限

      chmod 700 ~/.ssh

      修改主机 ~/.ssh/authorized_keys 权限

      chmod 600 ~/.ssh/authorized_keys

5、拷贝公钥

     主机 hadoop001 上执行以下命令,将hadoop001中/root/.ssh/authorized_keys 文件分别拷贝到 hadoop002 和 hadoop003。此文件中包含三台机器的公钥。

  • scp ~/.ssh/authorized_keys root@hadoop002:~/.ssh/authorized_keys
  • scp ~/.ssh/authorized_keys root@hadoop003:~/.ssh/authorized_keys

6、免密测试

      任何一台机器进入执行下面任意一个,首次执行需要确认 yes

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值