阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS 配置集群机器之间SSH免密码登录

147次阅读
没有评论

共计 2868 个字符,预计需要花费 8 分钟才能阅读完成。

SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。

在 Hadoop 集群或其他集群中广泛应用用,可用于机器之间免密码登录和执行脚本,如的 Hadoop 集群中 NameNode 启动的时候会远程执行脚本把集群中 DataNode 的也一起启动起来。

这里主要介绍 SSH 的配置和登录失败的情况

SSH 配置

集群中的每台 主机 上打开配置

sudo vim /etc/ssh/sshd_config

开启下面的选项

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

生成 SSH 密钥

集群中的每台 主机 上执行下面命令,一路回车,可生成本机的 rsa 类型的密钥。

ssh-keygen -t rsa

执行完之后在~/.ssh/ 目录下会生成一个保存有公钥的文件:id_rsa.pub

把公钥写入 authorized_keys 文件

把自己的公钥拷贝到 集群中的 Master 机

ssh-copy-id hadoop@HadoopMaster

最终在 Master 机上生成如下的内容的~/.ssh/authorized_keys 文件:

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArYU2kMXsu75Gzwvuby7OoGzC7GVwxVo+ol/7nJVD    BpKpJLRHRe/d2HSNe9ZZRWLK2tU0e41baMxrYRoAKJA2ujcWfy7t57c3ArO9hA7KJy7MqMiT8WHQ    M3I2Afsx6sVKeQU/czDLXHn+KjwKbR8z0tuycgtxgkaWx1PCpCKeFDAXDVvxYcurSUNaIGL5Egzu    Iy97N52ld/WxUZnRRsTPdpW88JkhWdOV1Bdo4O67rNv5tSYKHXfPwqi8NekqoHIExgVRsHLvM8fe    xvV4mo8lXYdQPRCyrtM9/V+4kSW8eaBO7w6hM9YVZIspSqx0+OqibWTvqSmiAVh0JmUT0MCeVQ==     hadoop@HadoopMaster
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA7n27x4qSzRQNGQAL+rT1+91IQnM9cwZYFeSUzrJD    GDfwCTJMKnRBYxrDMxTAM6MKjfwwkPzXnbKHLQnDiJKUSdF8H2xcgDMBJLssVQjOc2jSEg/VppQN    hJwObbIL3k1FbU2KxkOp7yW5PIodZrgUwlH5wdXtfsPKimvv72uA1KUiqPbYA3ZJqXw9Bt87K6Sv    IAkvUjshnfaS+wNEBVwW1dhXyz6DHuY+Tn9330+1oYfdmgSjS4ZqvZVothhhV58DNwzAYwINCpBA    tkjFbk/SOf0q/4rSJRpe2yH9xOuZdwqXMfk3dkp0UFZkV2EVSLyaCNKwTbSuKN75FWhgl8QB7w==     hadoop@HadoopSlave1
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAw91O/1NWnbr6/vop+xwnqR/XYNpwkWselzyHNqgD    PYgXXsDHsvOZbpTX7pgOTgVSmlZetCdX4C1lsc/PO8IitvvBS/qWU216lXaqlW61RcliCrYH/RwN    f8XTLx/Ga04w2qEIFlLOiuH6x/KA22muOLYaSIefXv38xj0Hj41iE5ZIseaLuJogn7iqJ6Fq0wQH    i6ueF9BasSWnOHhn6CJamYz3FC9r2m3vwPMkgagPp1FdYyDxodK+MZlwu6TxqP6QQ7BY/Wh5DZK8    C8zpDOZGQgWOrghF58TlZSmJYmukv1NqsY8PCFuoj7vfoUzVKQkyKcEiohwBcTb50vGPl06bMQ==     hadoop@HadoopSlave2

把 HadoopMaster 的 authorized_keys 拷贝到 HadoopSlave1 和 HadoopSlave2

scp ~/.ssh/authorized_keys hadoop@HadoopSlave1:~/.ssh/
scp ~/.ssh/authorized_keys hadoop@HadoopSlave2:~/.ssh/

重启 SSH 服务

sudo service sshd restart

测试连接

ssh HadoopSlave1

常见免密码登录失败分析

配置问题

  1. 检查配置文件 /etc/ssh/sshd_config 是否开启了 AuthorizedKeysFile 选项
  2. 检查 AuthorizedKeysFile 选项指定的文件是否存在并内容正常

目录权限问题

  1. ~ 权限设置为 700
  2. ~/.ssh 权限设置为 700
  3. ~/.ssh/authorized_keys 的权限设置为 600
sudo chmod 700 ~
sudo chmod 700 ~/.ssh
sudo chmod 600 ~/.ssh/authorized_keys

设置完了记得重启 ssh 服务

下面关于 SSH 相关的文章您也可能喜欢,不妨参考下:

Ubuntu 14.04 下安装 Samba 及 SSH 服务端的方法 http://www.linuxidc.com/Linux/2015-01/111971.htm

集群环境 SSH 免密码登录设置  http://www.linuxidc.com/Linux/2017-03/141296.htm

SSH 服务远程访问 Linux 服务器登陆慢 http://www.linuxidc.com/Linux/2011-08/39742.htm

提高 Ubuntu 的 SSH 登陆认证速度的办法 http://www.linuxidc.com/Linux/2014-09/106810.htm

使用 SSH 公钥密钥自动登陆 Linux 服务器 http://www.linuxidc.com/Linux/2017-02/140642.htm

使用 SSH 公钥密钥自动登陆 Linux 服务器  http://www.linuxidc.com/Linux/2017-02/140642.htm

SSH localhost 免密码后依然需要输入密码问题的解决  http://www.linuxidc.com/Linux/2017-02/140642.htm

Ubuntu 集群下利用 Shell 脚本进行 SSH 免密码登陆  http://www.linuxidc.com/Linux/2017-01/140035.htm

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-04/142632.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2868字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中