SSH无密码相互访问 配置

本文详细介绍了如何通过正确配置SSH的authorized_keys文件属性来实现主机之间的免密码访问。重点讲解了authorized_keys文件权限的重要性,并提供了具体的步骤指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

重点:authorized_keys的文件属性,最好为[color=red][b]644[/b][/color],组内其他人权限最多为读,或者没有读写权限,其他人的权限与前者类似。我配置时出现错误的根源是authorized_keys的文件权限设置的太高。

具体步骤如下:
1、使用root权限在/etc/hosts文件中添加互访问的主机名和对应的ip地址;

2、生成密钥
$ssh-keygen (默认是rsa格式)


3、将公钥id_rsa.pub追加到./ssh/authorized_keys文件中
注意::更改authorized_keys的文件属性为[color=red][b]644[/b][/color]。此时,完成了自己可以无密码访问自己主机,如果不可以,建议重启ssh服务,命令如下:
$ service sshd restart


4、将公钥拷贝到slaver上。
$scp authorized_keys slaver:/home/slaver/authorized_keys


5、登录slaver进行如下操作:
$cat authorized_keys >> .ssh/authorized_keys

这时,也应该注意authorized_keys的权限也应该为644!!

以上配置好了之后,就可以实现单向无密码访问了。
再反着做一次,就可以实现无密码互访问!祝好运~
<think>好的,我现在要帮助用户在Hadoop集群中安装SSH配置无密码登录。首先,我需要回忆一下之前的对话历史,确保这次回答能结合用户之前的问题和我的回复。用户之前遇到了apt更新失败的问题,现在转向SSH配置,可能是为了集群节点之间的通信做准备。 首先,用户提到参考了站内的三个引用,主要涉及SSH安装检查、免密登录配置和Hadoop环境初始化。用户现在明确的问题是如何安装SSH配置无密码登录。我需要根据这些引用内容,以及之前的问题,提供详细的步骤。 第一步应该是安装SSH服务。根据引用[1],用户需要检查是否安装了SSH,使用rpm命令或者yum安装openssh-server。在Ubuntu系统中,可能用的是apt而不是yum,所以需要调整命令。但用户之前是在Hadoop环境中使用apt,可能系统是Ubuntu或Debian系的。所以安装命令应该是sudo apt install openssh-server。 接下来,启动SSH服务,并设置开机自启。Ubuntu下可能需要使用systemctl,所以命令是sudo systemctl start ssh和sudo systemctl enable ssh。 然后,生成SSH密钥对。引用[2]中提到使用ssh-keygen生成密钥,并将公钥复制到authorized_keys文件中。需要注意的是,用户可能需要在所有节点上执行生成密钥,或者只在主节点生成然后分发。但通常的做法是在主节点生成密钥,然后将公钥分发到所有节点,包括自身。所以用户需要执行ssh-keygen -t rsa,然后使用ssh-copy-id命令将公钥复制到各个节点。如果ssh-copy-id不可用,可能需要手动复制,并设置权限,如引用[2]中提到的chmod 600 authorized_keys。 权限设置很重要,否则SSH不会接受密钥。需要确保.ssh目录的权限是700,authorized_keys是600。这一点在引用[2]中有提到,所以需要强调。 接着是配置所有节点的互信,即每个节点都需要有其他节点的公钥。用户可能需要将每个节点的公钥添加到其他节点的authorized_keys文件中。不过,通常主节点生成密钥后,将公钥分发到所有从节点,包括自己,这样主节点可以无密码登录自己和其他节点。而每个从节点是否也需要生成密钥并分发?这取决于是否需要从节点之间互相访问。如果Hadoop集群需要节点间通信,比如DataNode之间,可能需要相互免密登录。但一般情况下,可能只需要主节点能无密码登录所有从节点即可。所以需要明确说明两种情况。 测试SSH连接时,用户可能会遇到“Host key verification failed”的提示,这时候需要先手动SSH一次,接受主机密钥。这一点需要提醒用户,避免他们卡在这一步。 然后,结合引用[3]中的Hadoop初始化步骤,配置SSH后,用户可能需要格式化NameNode并启动集群。这部分可以作为后续步骤,但用户当前问题主要是SSH配置,所以可能不需要详细展开,但可以提到SSH配置是Hadoop集群正常工作的前提。 用户之前的问题涉及apt更新失败,可能是在安装SSH时遇到问题,比如网络问题或权限问题。所以在安装SSH时,如果出现错误,需要检查网络连接、软件源配置,以及sudo权限,参考之前的解决方案。 另外,引用[1]中提到SSH免密登录配置,用户需要确认是否所有节点都安装了SSH,包括客户端和服务端。主节点和从节点都需要openssh-client和openssh-server。如果是从节点,可能需要安装openssh-server以允许主节点连接。 最后,生成相关问题,需要围绕SSH配置和Hadoop集群管理,比如如何处理SSH连接失败、多节点环境下的配置、权限问题排查等。</think>在Hadoop集群中配置SSH无密码登录是保证节点间通信的关键步骤。以下是详细操作指南,整合了Hadoop环境特性与SSH配置要点: --- ### 一、SSH服务安装与验证 #### 1. 安装SSH服务(所有节点) ```bash sudo apt install openssh-server openssh-client # 同时安装服务端和客户端 sudo systemctl start ssh # 启动服务 sudo systemctl enable ssh # 设置开机自启 ``` #### 2. 验证安装状态 ```bash ps -e | grep sshd # 查看服务进程(应有sshd) ssh -V # 查看SSH版本 ``` --- ### 二、SSH无密码登录配置 #### 1. 生成密钥对(主节点执行) ```bash ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa # 生成密钥对,-P ""表示空密码 ``` #### 2. 分发公钥到所有节点 **方法一:自动分发(需首次手动输入密码)** ```bash ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@master # 主节点自身 ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@slave1 # 从节点1 ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@slave2 # 从节点2 ``` **方法二:手动分发(适用于无密码输入环境)** ```bash # 主节点操作 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys scp ~/.ssh/authorized_keys hadoop@slave1:~/.ssh/ scp ~/.ssh/authorized_keys hadoop@slave2:~/.ssh/ ``` #### 3. 权限修正(所有节点执行) ```bash chmod 700 ~/.ssh # 目录权限必须为700 chmod 600 ~/.ssh/authorized_keys # 文件权限必须为600[^2] ``` --- ### 三、集群互信强化配置 #### 1. 配置所有节点hosts文件 ```bash sudo nano /etc/hosts # 添加集群IP映射(所有节点一致) 192.168.1.100 master 192.168.1.101 slave1 192.168.1.102 slave2 ``` #### 2. 验证无密码登录 ```bash ssh master # 主节点自连测试 ssh slave1 # 跨节点测试 exit # 返回原终端 ``` --- ### 四、Hadoop环境联调 #### 1. 格式化NameNode(配置完成后执行) ```bash hadoop namenode -format # 确保SSH配置成功后再初始化[^3] ``` #### 2. 启动集群验证 ```bash start-dfs.sh # 启动HDFS jps # 应显示NameNode/DataNode进程 ``` --- ### 五、故障排查要点 - **连接超时**:检查防火墙状态`sudo ufw status` - **密钥拒绝**:验证`authorized_keys`文件权限和内容完整性 - **主机识别**:首次连接需手动确认指纹,出现提示时输入`yes` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值