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权限
否则配置是不成功的(每次登录都得重新去输入密码的)
————————————————
版权声明:本文为CSDN博主「艳阳如一」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/SXY16044314/article/details/90605069

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值