SSH的免密登录详细步骤(注释+命令+图)

需求

为了保证一台Linux主机的安全,所以我们每个主机登录的时候一般我们都设置账号密码登录。但是很多时候为了操作方便,我们都通过设置SSH免密码登录。
在这里我对本地机器Cloud10和目标机器Cloud11、Cloud12进行免密登录

大致的三步

1.本地机器生成公私钥
2.上传公钥到目标机器
3.测试免密登录

具体操作

1.准备工作

  • 使用root权限分别修改每台机器的hosts,添加每台机器所对应的IP和主机名(我这里分布式集群是3台机器组成的,所以配置3台,习惯将自己的ip和主机名放在第一行)
    sudo vim /etc/hosts
    删除文件里内容后添加如下内容
    在这里插入图片描述
  • 查看本地机器的隐藏文件 .ssh
    ll -a
    在这里插入图片描述
    2.在本地机器用ssh-keygen 生成一个公私钥对
    在ssh目录下进行,输入三个回车
    进入.ssh目录 cd .ssh
  • 发起公钥请求 ssh-keygen -t rsa
    在这里插入图片描述
  • 在.ssh/目录下,会新生成两个文件:id_rsa.pub和 id_rsa

在这里插入图片描述
3.上传公钥到目标机器
ssh-copy-id hduser@192.168.157.146
ssh-copy-id hduser@Cloud12
注意:(@前边是接受公钥机器的用户名,后边是接受放的ip,因为配置了映射所以ip可以用主机名代替)
在这里插入图片描述
在这里插入图片描述

  • 查看远程从节点主机上是否接收到 authorized_keys文件
    在这里插入图片描述
    在这里插入图片描述
  • 这个时候Cloud10的公钥文件内容会追加写入到Cloud11的 .ssh/authorized_keys
    文件中查看Cloud11下的authorized_keys文件与Cloud10下的id_rsa.pub中内容是一样的,如下图所示
    在这里插入图片描述
    在这里插入图片描述
  • 重启 SSH服务命令使其生效:(3台机器都要重启)
    sudo service sshd restart
    在这里插入图片描述
    另外我们要注意,
    .ssh目录的权限为700,其下文件authorized_keys和私钥的权限为600。否则会因为权限问题导致无法免密码登录。我们可以看到登陆后会有known_hosts文件生成。
    chmod -R 700 .ssh/
    sudo chmod 600 .ssh/authorized_keys
    4.测试免密登录
    使用IP免密登录(用户名相同时,ssh+主机名;如果不同,登录方式就是 ssh+用户名@IP地址)
    ssh Cloud10
    ssh Cloud11
    ssh Cloud12
    在这里插入图片描述
  • 退出免密登录
    exit
    在这里插入图片描述

注意事项

  • 免密码登录的处理是用户对用户的,切换其他用户后,仍然需要输入密码
  • 远程机器的.ssh目录需要700权限,authorized_keys文件需要600权限
    否则配置是不成功的(每次登录都得重新去输入密码的)
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值