如何在集群中使用单密钥-值对ssh

xj3cbfub  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(524)

我必须配置hadoop集群。为此,所有系统都需要能够以无密码模式相互ssh。出于安全考虑,我只允许基于密钥的ssh(没有密码)。集群中有5个系统。我必须生成一个键值对。如何将所有其他系统配置为仅使用此密钥对,以便它们可以在无密码模式下彼此ssh。

ulmd4ohb

ulmd4ohb1#

我猜你指的是linux机器。
在将发起或接收连接的帐户下,每台计算机上必须有一个~/.ssh目录chmod 700。
必须在没有密码的情况下生成(私钥)。
不要忘记,默认情况下,ssh最近不接受弱(<2048位)密钥。
必须执行以下操作才能启动连接。
您的私钥必须放置在~/.ssh/id\u rsa或~/.ssh/id\u dsa中(视情况而定)。您可以使用另一个名称,但它必须包含在发起请求的计算机上的-i选项中,以显式指示私钥。
您的私钥必须是chmod 600。
现在允许机器接收请求:
您的公钥必须放在将接收连接的帐户下名为~/.ssh/authorized\u keys的文件中。您也可以在这里放置允许通过此帐户连接的其他密钥。如果您在vi中,并且将密钥从putty中的粘贴缓冲区粘贴到文件中,那么一件特别棘手的事情是密钥以“ssh-”开头。如果你不在插入模式,第一个“s”将把vi放入插入模式,其余的键看起来很好。但你会在钥匙的开头漏掉一个“s”。我花了好几天才找到。
我喜欢chmod600~/.ssh/authorized\u密钥,但通常不需要。
现在,必须将主机指纹添加到缓存中。转到机器a,ssh转到机器b。第一次,您将得到一个类似“Doyouwanttoadd…”的查询。“到主机密钥缓存?”。这将非常有效地停止自动化过程。你有几个选择,这取决于你的情况:a。从5台机器中的每台机器手动ssh 20次,然后说“是”。b。您可以获取名为“known\u hosts”的文件(ssh称之为“cache”)并合并条目,以便可以将相同的主机\u密钥复制到所有计算机。c。您可以在/etc/ssh/ssh\u已知的\u主机中放置主机指纹。d。把指纹放到dns中(见manssh)。e。只需通过在ssh配置中设置stricthostkeychecking来关闭它(不推荐)。

相关问题