Java和SSH的安装配置

大数据学习路线图

原始的Linux系统是没有搭载Java开发环境和SSH相关工具,在安装Hadoop的时候,读者需要事先去搭建好。
本文将指导如何在一个原生的Linux系统下安装和配置这些环境和工具。

Java的安装

在安装完Ubuntu 14.04版本或者CentOS 7版本的Linux系统后,系统是没有自带java环境的,读者就需要在自己系统上安装相关java环境

  • Ubuntu安装OpenJDK
    sudo apt-get install default-jdk
    
  • CentOS安装OpenJDK
    • 下载JDK
      选区_001

    • 根据你系统选择对应的版本,下载地址
      选区_003

    • 安装tar.gz文件

    # 解压缩
    tar -zxvf filename.tar.gz
    # 压缩
    tar -zcvf filename.tar.gz filename
    # install the tar.gz
    cd filename
    ./configure
    ./make
    # need root permission
    ./make install
    

SSH登陆权限设置

首先我们要明白SSH的工作原理:

  • 登录A机器
  • ssh-keygen -t [rsa|dsa],将会生成密钥文件和私钥文件 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub
  • 将 .pub 文件复制到B机器的 .ssh 目录, 并 cat id_dsa.pub >> ~/.ssh/authorized_keys
  • 大功告成,从A机器登录B机器的目标账户,不再需要密码了;

再明白SSH的工作原理,按照书本的SSH登录权限设置,用户在最后通过ssh localhost测试,却发现没有办法连接。
这是因为Ubuntu默认并没有安装ssh服务,如果通过ssh链接Ubuntu,需要自己手动安装openssh-server和ssh-client,下面我们将逐步检测。

  1. 检查已经系统已经存在的SSH Keys
    ls -al ~/.ssh
    
  2. 如果没有,便生成一个新的SSH key
    //ubuntu直接可以生成一个SSH Key
    ssh-keygen
    

    -t指定密钥的类型,默认就是rsa,所以不加-t rsa也行,如果你想生成dsa密钥,就需要加参数-t dsa。

  3. 建立信任连接列表

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

    需要本机测试连接本地,所以在当前机器上面复制。

  4. 检测是否需要输入密码

    ssh localhost
    

    如果有错误提示,类似"ssh: connect to host localhost port 22: Connection refused",说明你没有安装ssh-client或者ssh-server,此时只需要在终端输入

  5. 安装openssh-client

    sudo apt-get install openssh-client
    
  6. 安装ssh-server
    ps -e | grep ssh
    

    如果只显示如下的结果,就说明只安装了agent,没有安装openssh-server
    选区_004

    sudo apt-get install openssh-server
    
  7. 再次检测是否可以连接
    ssh localhost