日期:2014-05-16  浏览次数:20593 次

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    master
192.168.1.61    slave1
192.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_rsa
Generating 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@master
The 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/master
hadoop@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 slave1
Last login: Mon Mar  4 22:23:06 2013 from master
[hadoop@slave1 ~]$ 

? ? 没提示输入密码,配置成功

?