重点理解之处:A想登录B,就把A上生成的公钥发送到B上

A将公钥发给B,不是B可以访问A,而是A可以访问B,所以任何一台机器想要能访问其他机器,那么就把自己的公钥内容发送到别的机器的authorized_keys中去,记住,是追加,不是覆盖

在操作过程中,千万不要真的用copy,或是scp发送,这样会对自己机器或者对方机器的原有配置造成覆盖或是丢失,总之会破会两台机器的原有配置,风险太大!

按如下方法既安全又操作简单,不易出错,最重要的是不对两台机器的原有配置带来任何的破环

具体如下:

>>> ssh-keygen -t rsa 
>>> ssh-copy-id -i id_rsa.pub hadoop@node2

在node1上,分别执行上述两条命令,即可实现在node1 ssh免密登录node2 ;


那么在搭建集群(以搭建三台机器的集群为例,node1,node2,node3)时即可按下面方法进行:

在node1 上执行
>>> ssh-keygen -t rsa 
>>> ssh-copy-id -i id_rsa.pub hadoop@node1
>>> ssh-copy-id -i id_rsa.pub hadoop@node2
>>> ssh-copy-id -i id_rsa.pub hadoop@node3

------------------------------------------

在node2 上执行
>>> ssh-keygen -t rsa 
>>> ssh-copy-id -i id_rsa.pub hadoop@node1
>>> ssh-copy-id -i id_rsa.pub hadoop@node2
>>> ssh-copy-id -i id_rsa.pub hadoop@node3

------------------------------------------

在node3 上执行
>>> ssh-keygen -t rsa 
>>> ssh-copy-id -i id_rsa.pub hadoop@node1
>>> ssh-copy-id -i id_rsa.pub hadoop@node2
>>> ssh-copy-id -i id_rsa.pub hadoop@node3


到此即可实现三台机器互相免输密码进行ssh登录 


20210804更新:

注意:在配置ssh免密登录时,自己登录自己也要配置,不然分发时还是会有问题

20230828更新:

注意:在配置时要在对应账户下执行,比如都在root下或是都在test_user下 

Logo

永洪科技,致力于打造全球领先的数据技术厂商,具备从数据应用方案咨询、BI、AIGC智能分析、数字孪生、数据资产、数据治理、数据实施的端到端大数据价值服务能力。

更多推荐