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

生成SSH密钥

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

ssh-keygen -t rsa

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

前题需要关闭iptables和SELinux

SSH配置

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

sudo vim /etc/ssh/sshd_config

开启下面的选项

RSAAuthentication yesPubkeyAuthentication yesAuthorizedKeysFile .ssh/authorized_keys

chmod 700 ~/.ssh

把公钥写入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@HadoopMasterssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA7n27x4qSzRQNGQAL+rT1+91IQnM9cwZYFeSUzrJD GDfwCTJMKnRBYxrDMxTAM6MKjfwwkPzXnbKHLQnDiJKUSdF8H2xcgDMBJLssVQjOc2jSEg/VppQN hJwObbIL3k1FbU2KxkOp7yW5PIodZrgUwlH5wdXtfsPKimvv72uA1KUiqPbYA3ZJqXw9Bt87K6Sv IAkvUjshnfaS+wNEBVwW1dhXyz6DHuY+Tn9330+1oYfdmgSjS4ZqvZVothhhV58DNwzAYwINCpBA tkjFbk/SOf0q/4rSJRpe2yH9xOuZdwqXMfk3dkp0UFZkV2EVSLyaCNKwTbSuKN75FWhgl8QB7w== hadoop@HadoopSlave1ssh-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/

2.3 在服务器上更改权限

目录权限问题

  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

www.98455.com 1

然后,将公钥导入到认证文件(这一步的操作在对方服务器上进行)

常见免密码登录失败分析

Shell代码:  cat /home/id_rsa.pub >> ~/.ssh/authorized_keys

www.98455.com,重启SSH服务

sudo service sshd restart

在 Linux 中为非 SSH 用户配置 SFTP 环境
http://www.linuxidc.com/Linux/2014-08/105865.htm

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

exit

配置问题

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

6、断开ssh登陆

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

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

测试连接

ssh HadoopSlave1

#PermitRootLogin yes 如果要以root身份ssh互信登陆,此选项目一定不要启用

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

4、导入公钥到认证文件中,更改权限

Linux 上SSH 服务的配置和管理
http://www.linuxidc.com/Linux/2014-06/103627.htm

开启SSH服务让Android手机远程访问
Ubuntu 14.04 
http://www.linuxidc.com/Linux/2014-09/106809.htm

例如:

www.98455.com 2

1、打开ssh配置文件,启用以下选项

ssh -p 10000 192.168.111.111

AuthorizedKeysFile      .ssh/authorized_keys  #公钥存放地址

2、重启ssh服务

RSAAuthentication yes  #允许RSA认证

如果ssh不是默认端口,要在ssh命令后加 -p 端口号

ssh 192.168.111.111

相关文章

Comment ()
评论是一种美德,说点什么吧,否则我会恨你的。。。