如何在群集中使用单个钥匙值对与SSH



我必须配置hadoop群集。为此,所有系统都应该能够以无密码模式相互启动。由于安全性,我仅允许基于密钥的SSH(无密码)。集群中有5个系统。我必须生成单个钥匙值对。如何配置所有其他系统以使用此密钥对,以便它们可以在无密码模式下相互SSH。

我假设您的意思是Linux机器。

帐户下的每台机器上必须有一个〜/.ssh目录CHMOD 700,该目录将起源或接收连接。

必须在没有密码的情况下生成(私有)密钥。

不要忘记默认情况下弱(< 2048位)键最近不被SSH接受。

必须完成以下操作 rigination 连接。

  1. 必须在〜/.ssh/id_rsa或〜/.ssh/id_dsa中放置您的私钥。您可以使用另一个名称,但是必须将其包含在计算机上的-I选项上,该选项始于请求明确指示私钥的请求。
  2. 您的私钥必须为CHMOD 600。

现在允许机器接收请求:

  1. 您的公共密钥必须放在帐户下的名为〜/.ssh/euthorized_keys的文件中,该文件将接收连接。您可能还将允许通过此帐户连接的其他键也在此处连接。如果您在VI中并将密钥粘贴到Putty中的糊状缓冲区中,则特别棘手的事情是,钥匙以" SSH-"开头。如果您不处于插入模式,则第一个" S"将使VI处于插入模式,其余的密钥看起来都很好。但是您会在钥匙开始时缺少" S"。我花了几天的时间才找到。
  2. 我喜欢chmod 600〜/.ssh/oteryized_keys,但通常不需要。
  3. 现在,您必须将主机指纹添加到缓存中。转到Machine A,然后SSH到MachineB。您将首次获得一个查询,例如"您要添加……到主机密钥缓存吗?"。这将非常有效地阻止您的自动化过程。您有一些选择,可以通过您的情况:手动从5台机器中的每台到其他4台手动SSH,并说"是"。b。您可以获取称为" nown_hosts"的文件(这是SSH所谓的"缓存")并组合条目,以便可以将相同的主机_Keys复制到所有机器上。C。您可以将主机指纹放入/etc/ssh/ssh_known_host中。d。将指纹放入DNS中(请参阅Man SSH)。e。只需通过在您的SSH配置中设置stricthostkeychecking(不建议)。

最新更新