Linux SSH 免密码登录配置
? ? ? 由于学习hadoop,集群之间需要SSH无密码登录,那么,在安装hadoop之前,就必须得配置好机器之间的无密码的SSH登录。如何配置无密码SSH登录呢?
? ? ? 我们以在A机器上无密码登录到B机器上为例:
? ? ?1、切换到需要用来登录的用户,如,我们用A机器名为hadoop的用户登录B机器的hadoop用户下。
? ? ? ?su hadoop 切换到hadoop 用户。
? ? ?2、给两台机器分别改主机名:这里 A:master B:slave1:
? ? ? ? ?修改这个文件etc/sysconfig/network这个文件里的主机名.
? ? ? ? ?NETWORKING=yes
? ? ? ? ?HOSTNAME=主机名
? ? ? ? ?记得重启!!!
? ? ? ? ?并修改hosts映射:
? ? ? ? vi /etc/hosts
? ? ? ??
192.168.1.60 master192.168.1.61 slave1192.168.1.62 slave2
? ? 写上对应的IP 和主机名
? ? ?2、A机器:生成rsa公钥:
? ? ?ssh-keygen -t rsa -f ~/.ssh/id_rsa ? //-t 加密类型 -f 密钥文件存放路径,如果如下:
? ??
[hadoop@master ~]$ ssh-keygen -t rsa -f ~/.ssh/id_rsaGenerating public/private rsa key pair.Created directory '/home/hadoop/.ssh'.Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/hadoop/.ssh/id_rsa.Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub.The key fingerprint is:e9:ab:f0:48:af:2d:d4:98:59:68:bc:3d:52:3e:94:bc hadoop@masterThe key's randomart image is:+--[ RSA 2048]----+| || || . o . || + * . || . % .S || B E. || .o. o. || ..* . || oo=.. |+-----------------+[hadoop@master ~]$ cd .ssh
? ?同样在B机器上执行第二部操作。
?
? ? 3、将A机器 /home/hadoop/.ssh/下的 id_rsa.pub 传输到 B机器的?/home/hadoop/.ssh/ 并重命名为master
? ? ?
[hadoop@master .ssh]$ scp id_rsa.pub hadoop@slave1:/home/hadoop/.ssh/masterhadoop@slave1's password: id_rsa.pub 100% 395 0.4KB/s 00:00
? ? ?4、切换到B机器,使用hadoop用户登录,将传过来的master 追加到名为??authorized_keys ?的文件,使用?
? ? ? cat master ?>> authorized_keys ? //不存在,则会自动创建
? ? 5、修改权限,将authorized_keys、id_rsa.pub的权限修改为644
? ? ? ?
[hadoop@slave1 .ssh]$ chmod 644 id_rsa.pub [hadoop@slave1 .ssh]$ chmod 644 authorized_keys
?
? ? 此时,SSH免密码登录配置成功
? ? 测试,此时,在A机器下使用 ?
? ??
[hadoop@master .ssh]$ ssh slave1Last login: Mon Mar 4 22:23:06 2013 from master[hadoop@slave1 ~]$
? ? 没提示输入密码,配置成功
?