1.请在 master 节点使用 ssh-keygen-t rsa 生成公钥,并将公钥复制到 slave1、 slave2 以及 master 自身,完成 ssh 免密登录功能。
时间: 2024-09-28 19:15:34 浏览: 78
八斗学院3.如何在自己的电脑上搭建hadoop集群? (2).docx
在Master节点上通过SSH密钥对实现无密码登录的一般步骤如下:
1. **生成SSH密钥对**:
打开终端,首先确保你已经安装了`ssh-keygen`命令行工具,如果没有,可以使用包管理器如`apt-get`(Ubuntu/Debian系统)或`yum`(Red Hat/CentOS系统)安装。然后,运行:
```
$ ssh-keygen -t rsa
```
按照提示,输入文件名(通常默认即可),按回车键继续,选择“否”不提供密码保护(如果需要额外安全性,可以选择其他选项并设置密码)。
2. **查看生成的公钥和私钥**:
密钥将在~/.ssh目录下创建,其中公钥是id_rsa.pub,私钥是id_rsa。你可以通过cat命令查看它们的内容:
```
$ cat ~/.ssh/id_rsa.pub
```
3. **复制公钥到Slave节点**:
使用`ssh-copy-id`命令将公钥内容粘贴到每个slave节点的.ssh/authorized_keys文件中。例如:
```
$ ssh slave1 'mkdir -p ~/.ssh && echo "内容" >> ~/.ssh/authorized_keys'
```
将"内容"替换为你刚才看到的Master节点公钥内容。
4. **配置免密登录**:
Slave节点也需要允许从特定的IP地址(通常是Master的IP)无密码登录。编辑~/.ssh/known_hosts,添加Master节点的记录:
```
$ ssh slave1 'echo "Master_IP_address" >> ~/.ssh/known_hosts'
```
5. **在Master节点也加入自己的公钥**:
同样操作,将Master的公钥复制到自身的authorized_keys中,以便可以从自身无密码登录。
现在,Master节点应该能够无需密码就直接SSH连接到slave1和slave2。
阅读全文