Centos7下实现免密登录

一.准备环境

1) 用客户端工具(ssh client或者putty)连接到linux服务器。在root用户下输入命令

vi /etc/hosts,用vi编辑hosts文件,如下

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.199.131 hdp-1 hdp-1
192.168.199.132 hdp-2 hdp-2
192.168.199.133 hdp-3 hdp-3
192.168.199.134 hdp-4 hdp-4

2) 输入命令:cd .ssh进入rsa公钥私钥文件存放的目录,删除目录下的id_rsa,id_rsa.pub文件。

二、在每台机上产生新的rsa公钥私钥文件,并统一拷贝到一个authorized_keys文件中

1) 登录hdp-1,在.ssh目录下输入命令

ssh-keygen -t rsa

[root@hdp-1 ~]# cd .ssh/
[root@hdp-1 .ssh]# ssh-keygen -t rsa

三次回车后,该目录下将会产生id_rsa,id_rsa.pub文件。其他主机也使用该方式产生密钥文件。

-rw-------.  1 root root 1679 12月  6 21:51 id_rsa
-rw-r--r--.  1 root root  392 12月  6 21:51 id_rsa.pub

2) 登录hdp-1下的 .ssh,输入命令:

cat id_rsa.pub >> authorized_keys

将id_rsa.pub公钥内容拷贝到authorized_keys文件中。

3) 登录其他主机,将其他主机的公钥文件内容都拷贝到hdp-1主机上的authorized_keys文件中,命令如下:

ssh-copy-id -i hdp-1     #登录hdp-2,将公钥拷贝到hdp-1的authorized_keys中

ssh-copy-id -i hdp-1     #登录hdp-3,将公钥拷贝到hdp-1的authorized_keys中

ssh-copy-id -i hdp-1     #登录hdp-4,将公钥拷贝到hdp-1的authorized_keys中

最终hdp-1下的 .ssh的authorized_keys文件内容如下:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDTTHGCoH9im4dCauJZ8Vtx8SRDUQP6BmVtWg2eGl8vvydz6eazko/E1M0sPavjGok2YVcfWxrJfntrrtHdxIVBO0EhosXZo+AFEuHp/+JCKIXtCTJmI7leI7zPk6OjIMtVUoH+DkMZSyPDAHR0GOyqX75Vcqlf8Iv3xKTs3p4y6nuPNfUxS0eCI74p2g03Ktug85TvyW3YXxFTImPNNA7y51jOwHsUYziAmhsi1Qh3Cg0olP3WopPAifueJGCorZE2zYuJEmjx43JZsZ3qBMiH7Q5Wosn/GJc4Whd+n3sRkVradp+1r+xLaS5HtJWUSYgbV/iZCUtb9YG9d6gE4HYn root@hdp-1
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6QFAo5aF6wMPC7B7LRj3Pri5FyezXRm2SbyFfesbxuT6D3DRj8Dqq9jGdZYny5+5x8sajy0vwhk+hlZ8zRGp4lRCqeZ4U/lkQCdBQGtoVYVmCQzyJhq76gIt+Fzl0Er8gTxO8lRuEGTlGU4dazV8xABOcNSaTV+nr9fy88dAPweuwRkjXl5ifEn0FsXtf3/FtjKFyW5LUMkKXji5cVlIwS1d6ez4nnDRGXPseQritG0I8dcisQyLj6dnNf51hrjNRu/oVbBOIVWAzXBHioSZyt3PJXO3GKson3cjA6aVvPKLiEmhAWv/GBi5tB05cqz5XqwLxIVfJ2atFPwpZJlL3 root@hdp-2
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDqRfnqpG8+1Z5p8pfrSClts27n+7pCfIMhKqi/6QHtBRM6BGcbwb8KYL5WKarG+DxuLBtlIz3rr9/wZDINSxqY+4wUkOq3T4Eq3bNnTMEJVxZpNq/s8lf2GiCysEiYprEVWRZE++XPF1Rj0Q+Wf4trXSMFoqWZK0SEgFlV007lyG8nhtqds+ns96zE+gFXAragm0QvnHYXEzxu1YC7i0dzZbEEhqcl5p+7ohUfTuzPWhz7D+3jPgVUvPIpEFF30AKvAa27u7MfMC1V+rAHqa/5yY3emR39PqH3rJ+1MCtnXSLti/A0lYd7kbg1BAVzcC+mQIqyoq0zwkFFKedf+QV1 root@hdp-3
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4aTeI6uE5WSgHcN09AeU3919q3klGIeMFgYME5XUAIW3E0SExN7Y0GrJVIbybiy0OSE1+s1lVonriSz8Rjv0YYm2rVODmKxTo8EjrsjZbMNaxR18zXgD0gYECfuSDSCuyb9uLpkKzzZeUsmN9rfMMYCLpLZch4rdW0P+xGcJSeaZ84F19DJaC8errWlVmZa6ut+xNlXACi+/D0oZM1KrbTwRR2q1Z7EW1mLy40v/FTywSezVlKIV8lMPxyfOHvQVjaVnpzZBpBG8u+VgEC4TFVBOvzBjXFJhQxzTBrJjPHfCobtn21NqlMqXFOca0xL3psfEAxvTzJvG45q8x+79f root@hdp-4
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzVlkOHWr0lzepPFlrmVKQAHCCPX4P9op98l/jtuukFY9WAIzCYe84grkSEmiLQMH5wW/5eicAk2V/HK5URkF1keouAE9Xj16V3Tog83orafO9iEN/RuGXrXwSgDw+RCJ0Nl4TYSEPPMbWIKAkOcxlHMRJFXpraIxFxykERSjtR24haxiDK+UfcjmcWVXO+oi6qGGiHqt63Eh9SAoE/PN9B5DVEwjett1l/4ZLp7QXuuzNHwJoCnh7VyOWB4Hk1t4A2jIQ9Z2jCc/3ffL9LA1NT7Dwda+Lzfzn0BilUZ5+zPjAde1TidWLQR6IQCbclVNQ6S87Po0AsfruE19VeLJJ root@hdp-4

三、授权authorized_keys文件

1) 登录hdp-1,在.ssh目录下输入命令:

chmod 600 authorized_keys

效果如下:

[root@hdp-1 .ssh]# ls -al
总用量 20
drwx------.  2 root root   80 12月  6 21:51 .
drwxr-xr-x. 15 root root 4096 12月  4 20:13 ..
-rw-------.  1 root root 1960 12月  8 08:58 authorized_keys
-rw-------.  1 root root 1679 12月  6 21:51 id_rsa
-rw-r--r--.  1 root root  392 12月  6 21:51 id_rsa.pub
-rw-r--r--.  1 root root 1611 11月 11 12:34 known_hosts

四、将授权文件分配到其他主机上

1) 登录hdp-1,将授权文件拷贝到hdp-2、hdp-3hdp-4,命令如下:

scp /root/.ssh/authorized_keys hdp-2:/root/.ssh/ #拷贝到hadoop02上

scp /root/.ssh/authorized_keys hdp-3:/root/.ssh/ #拷贝到hadoop03上

scp /root/.ssh/authorized_keys hdp-4:/root/.ssh/ #拷贝到hadoop04上

2) 至此,免密码登录已经设定完成,注意第一次ssh登录时需要输入密码,再次访问时即可免密码登录。

例如:登录第二台机器:hdp-2

命令: ssh hdp-2

 

注:如果希望ssh公钥生效需满足至少下面3个条件:

1)  .ssh目录的权限必须是700 

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

3) 用户目录权限为 755 或者 700,就是不能是77x

 

注意:

如果发现在登录其中一台机器时还需要密码的话,那么可能是其中那台机器的权限问题

解决方案:https://blog.csdn.net/weixin_45034355/article/details/103442392

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值