概述

在搭建各种集群或openssh、sftp、scp等,如果每次使用的时候都需要输入密码,那将会很麻烦。所以我们需要配置ssh的免密码登录,因为有了它远程启动集群或做其他操作就不需要一遍遍的输入密码了

生成.ssh文件夹

  • 新安装的系统用户下一般情况下没有.ssh的文件夹
  • 查看

    1. cd ~ & ls -al

    image.png

  • 执行命令生成

    1. ssh localhost

    image.png

生成公钥、私钥

  • 用于配置免密登陆
    1. ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
    image.png

authorized_keys文件

  • 将公钥(id_rsa.pub)写入到authorized_keys文件中
    1. cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

文件授权

  • SSH公钥生效需满足至少下面两个条件:
    1. 目录.ssh的权限必须是700,由于上面是通过ssh localhost生成的文件夹故此满足此条件;
    2. 文件.ssh/authorized_keys权限必须是600;
  1. chmod 0600 ~/.ssh/authorized_keys

验证配置

  • 将公钥(id_rsa.pub)写入到authorized_keys文件中
    1. ssh localhost
    image.png

    注:能成功进入说明配置成功

同其他机器相互访问

  • 将.ssh文件夹完整复制到其他机器对应位置
  • 授权后即可相互访问

    1. chmod 0700 ~/.ssh
    2. chmod 0600 ~/.ssh/authorized_keys
  • 单向访问只需要将公钥写入到对方的authorized_keys文件中即可访问对方