AWS BPA Advanced大数据流程智能化分析平台

SSH配置

准备工作

如果尚未在系统上安装ssh,需要首先安装Openssh server:

sudo apt-get install openssh-server  # 对于Ubuntu/Debian

或者

sudo yum install openssh-server  # 对于CentOS/RedHat

集群部署

1. 在所有节点上生成私钥和公钥

ssh-keygen -t rsa  # 按提示一路回车

2. 设置master节点与所有其他节点的无密码SSH访问

将每个节点上的id_rsa.pub文件传输到master节点。可以使用scp进行传输:

scp ~/.ssh/id_rsa.pub 用户名@主机:~/.ssh/id_rsa.pub.nodeName

例如,如果当前是bpa2节点,命令可以是:

scp ~/.ssh/id_rsa.pub hadoop@bpa1:~/.ssh/id_rsa.pub.bpa2

3. 在master节点上合并所有公钥文件

cat ~/.ssh/id_rsa.pub* >> ~/.ssh/authorized_keys

4. 将合并后的公钥文件分发给每个节点

scp ~/.ssh/authorized_keys 用户名@其他节点的主机名:~/.ssh/

5. 验证各节点之间的无密码SSH访问

例如,从bpa1尝试访问bpa2

ssh 用户名@bpa2

如果直接登录成功而不需要密码,则设置正确。

单机部署

如果是单机部署,你只需在该机器上生成密钥对并将公钥添加到authorized_keys中:

ssh-keygen -t rsa  # 按提示一路回车
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

:bulb:常见问题

Q: 如果登录不成功,或仍然需要登录密码,该如何做? A: 可能需要调整.ssh文件夹和authorized_keys文件的权限。确保.ssh文件夹的权限为700,而authorized_keys文件权限为600

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

此大纲为SSH配置的基本步骤,具体配置细节和操作可能需要根据实际环境进行调整。

Q: 为什么我在尝试SSH连接时收到“Permission denied”消息? A: 这通常意味着你的私钥和公钥没有正确配置,或者你输⼊的密码不正确。 请确保:

  • 你的私钥文件权限正确(例如:~/.ssh/id_rsa应该是600)。
  • 你的~/.ssh/authorized_keys文件包含了相应的公钥,并且其权限是600。
  • 如果使用密码进行身份验证,请确保密码正确。

Q: 我如何在多个节点上设置SSH无密码登录? A: 对于集群中的每个节点,你需要:

  • 使用ssh-keygen生成键对(如果还没有的话)。
  • 使用ssh-copy-id或手动方法将公钥复制到目标节点的~/.ssh/authorized_keys文件中。

Q: 我收到一个关于“host key verification failed”的错误消息。怎么办? A: 这意味着远程主机的SSH密钥已经更改。这可能是因为系统重新安装或被攻击。你可以从~/.ssh/known_hosts文件中删除相应的行,然后再次尝试连接。

Q: 如何在集群中同步.ssh目录? A: 你可以使用scprsync命令将.ssh目录同步到集群中的其他节点。例如:

scp -r ~/.ssh user@remote_node:~/

Q: 我是否应该在所有节点上使用相同的SSH密钥? A: 这取决于你的需求。使用相同的密钥确实可以简化配置,但也可能增加安全风险。最佳实践是为每个节点或用户生成单独的密钥对。

Q: 为什么我不能使用root用户进行SSH登录? A: 出于安全原因,许多系统默认禁止root用户通过SSH进行远程登录。你可以在/etc/ssh/sshd_config中检查或更改此设置,但建议使用非root用户进行SSH登录,然后在需要时使用sudo



Seven
 010-62962343-690
 liujx@actionsoft.com.cn
感谢您对该文档的关注!如果您对当前页面内容有疑问或好的建议,请与我联系。如果您需要解答相关技术问题请登录AWS客户成功社区