Redhat&Ubuntu安装配置SSH

为了搭建Hadoop集群环境,配置SSH

SSH全称Secure SHell,具体介绍参考http://blog.lizhigang.net/archives/249

准备工作:
    我的主机是一台Win7系统上的虚拟机( Red Hat Enterprise Linux 5.4 (RHEL5.4)镜像下载地址 server版本 32位DVD安装镜像 http://rhel.ieesee.net/uingei/rhel-server-5.4-i386-dvd.iso),IP为 192.168.1.132
    另一台是Ubuntu 12.0.24 ,IP为192.168.1.107

1、JDK1.6的安装就简单了,下载 jdk-6u24-linux-i586.bin
   修改权限
   # chmod a+x jdk-6u24-linux-i586.bin
   开始安装
   # ./jdk-6u24-linux-i586.bin

   接下来配置环境变量即可:
   在/home/username/.bashrc 或 /etc/profile文件末尾添加
  
#------------jdk environment--------------- JAVA_HOME=/usr/java/jdk1.6.0_29 JRE_HOME/usr/java/jdk1.6.0_29/jre PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/jre/lib/tools.jar:$JRE_HOME/lib export JAVA_HOME JRE_HOME PATH CLASSPATH

  
   打开终端,进行测试
   #java
   #javac
   #java -version
   看看是否正常(两台机器下的安装方法都一样)

2、安装SSH
   在Redhat上安装SSH,从Redhat安装文件中拷贝如下文件(openssh和openssl开头的文件都拷上吧):
    openssh-4.3p2-36.el5.i386.rpm
    openssh-askpass-4.3p2-36.el5.i386.rpm
    openssh-clients-4.3p2-36.el5.i386.rpm
    openssh-server-4.3p2-36.el5.i386.rpm
    openssl-0.9.8e-12.el5.i386.rpm
    openssl-0.9.8e-12.el5.i686.rpm
    openssl097a-0.9.7a-9.el5_2.1.i386.rpm
    openssl-devel-0.9.8e-12.el5.i386.rpm
    openssl-perl-0.9.8e-12.el5.i386.rpm
    把上面的文件安装
    #rpm -ivh openss*

    在Ubuntu上安装SSH,执行以下命令就好了
   
  sudo apt-get update 
  sudo apt-get install ssh 
  sudo /etc/init.d/ssh restart


测试是否安装成功,
  # ssh localhost

3、配置,让主机无密码访问节点机器
  
   首先,分别在主机和节点机器上创建一个hadoop用户,这样每台机器上都有一个hadoop用户,操作就方便了。

   在主机上生成密钥对:
    #ssh-keygen -t rsa
   这个命令将为主机上的用户生成其密钥对,询问其保存路径时直接采用默认路径,当提示要为生成的密钥输入passphrase的时候,直接回车,也就是其设定为空密码。最近生成密钥对id_rsa,id_rsa.pub,默认存储在/home/hadoop/.ssh目录下,然后将id_rsa.pub的内容复制到每个节点机器的/home/hadoop/.ssh/authorized_keys文件中,生成密钥后的具体操作:
  1) 拷贝id_rsa.pub
   #cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys  
  2) 将文件拷贝到节点机器相同的文件夹内
   #scp authorized_keys 192.168.1.107:~/.ssh/
 
  这时候可以看到在192.168.1.107机器的/home/hadoop/.ssh文件夹下,就可以看到有一个authorized_keys文件
   然后修改权限
   #chmod 644 authorized_keys
   这一步非常关键,必须保证authorized_keys只对其所有者有读写权限,其他人不允许有写的权限,否则SSH是不会工作的。我就曾经在配置SSH的时候郁闷了好久。

  测试是否成功:
  在主机上,
  #ssh 192.168.1.107
  如果不提示输入密码,那就ok啦。。

(仅供参考~~)

猜你喜欢

转载自renegade24.iteye.com/blog/1687614