当前位置:首页 > 配置ssh免密码登陆
配置ssh实现节点间无密码登陆
注意: 三台机器dns 和 默认网关必须一致。登陆密码一致最好。而且务必三台机器互相ping通主机,即主机名和ip解析正确。
如集群三台机器的IP地址分别为:192.168.23.111、192.168.23.112、192.168.23.113、对应节点主机名为:hadoop1、hadoop2、hadoop3。在三台节点机分别创建用户hadoop,uid=600,密码可相同,也可不同。操作命令以 mpi 用户名为例,如下:
若需修改主机名,需要修改两处:一处是/etc/sysconfig/network,另一处是/etc/hosts,只修改任一处会导致系统启动异常。首先切换到root用户。打开文件:
/etc/sysconfig/network
里面有一行 HOSTNAME=localhost.localdomain (如果是默认的话),修改 localhost.localdomain 为你的主机名。 打开文件: /etc/hosts
有一行 127.0.0.1 localhost.localdomain localhost 。其中 127.0.0.1 是本地环路地址, localhost.localdomain 是主机名(hostname),也就是你待修改的。localhost 是主机名的别名(alias),它会出现在Konsole的提示符下。将第二项修改为你的主机名,第三项可选。 若ping不通,修改/etc/hosts文件,使用sudo vi /etc/hosts命令, hadoop1设置如下(namenode):
192.168.1.100 hadoop1 192.168.1.101 hadoop2 192.168.1.102 hadoop3
Hadoop2(datanode)的设置为:
192.168.1.100 hadoop1
192.168.1.101 hadoop2 192.168.1.102 hadoop3
Hadoop3(datanode)的设置为:
192.168.1.100 hadoop1
192.168.1.101 hadoop2
192.168.1.102 hadoop3
本集群将namenode和 jobtracker 设置成一台机器 即hadoop1。 下面是 hadoop的原始配置方法
Now check that you can ssh to the localhost without a passphrase: $ ssh localhost
If you cannot ssh to localhost without a passphrase, execute the following commands: $ ssh-keygen -t dsa -P ” -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
按照上面配置, 在root下工作正常实现了免密码登陆, 但是在普通账号下, 则不好用, 如下图:
解决办法, 删除相关文件重新配置 rm -rf .ssh/
删除后结果如下:
确保没有 .ssh目录 然后输入 ssh sch@db
输入下面命令, ssh-keygen -t rsa
当询问Enter file in which to save the key (/home/sch/.ssh/id_rsa): 时直接回车, 选择默认, 询问输入密码时也选择回车,使用默认
执行下面的命令, 特别是 修改 文件权限的两句好像, 是关键!! [sch@db ~]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys [sch@db ~]$ chmod 700 ~/.ssh
[sch@db ~]$ chmod 600 ~/.ssh/authorized_keys [sch@db ~]$ ll -a .ssh/ total 28
drwx—— 2 sch sch 4096 Oct 1 06:09 . drwx—— 20 sch sch 4096 Oct 1 06:00 ..
-rw——- 1 sch sch 776 Oct 1 06:16 authorized_keys -rw——- 1 sch sch 1675 Oct 1 06:08 id_rsa -rw-r–r– 1 sch sch 388 Oct 1 06:08 id_rsa.pub -rw-r–r– 1 sch sch 384 Oct 1 06:00 known_hosts 如下图
三
输入ssh sch@db
看到已经免密码登陆了。
拷贝当前目录下配置到,其他服务器, 保证连接其他服务器也是免密码登陆的。 scp -r .ssh/ sch@red:/home/sch
scp -r .ssh/ sch@mongdb:/home/sch scp -r .ssh/ sch@nginx:/home/sch
并测试相关登陆情况, 经过测试, 能正常免密码登陆。
共分享92篇相关文档