为Ubuntu添加hadoop用户组和用户后,可以安装ssh服务了。
**********************************************************************************
SSH无密码原理:master(namenode/jobtrack)作为客户端,要实现无密码公钥认证,连接到服务器slave(datanode/tasktracker)上时,需要在master上生成一个公钥对,包括一个公钥和一个私钥,而后将公钥复制到所有的slave上。当master通过SSH连接slave时,slave就会生成一个随机数并用master的公钥对随机数进行加密,并发送给master。Master收到密钥加密数之后再用私钥解密,并将解密数回传给slave,slave确认解密数无误后就允许master进行连接了。这就是一个公钥认证的过程,期间不需要用户手工输入密码。
*************************************************************************************
(一)将系统用户切换到Hadoop。
命令行输入:
- sudo apt-get install openssh-server
(二)输入hadoop密码后,会自动升级更新安装ssh。
(三)命令行输入:
- sudo /etc/init.d/ssh start
此命令用于启动ssh
(四)命令行输入:
- ps -e |grep ssh
查看ssh启动情况。
(五)要设置成免密码登录,生成私钥和公钥。生成密钥有rsa和dsa两种生成方式,默认情况下采用rsa方式。
命令行输入:
- ssh-keygen -t rsa -P " "
如果没有存在,则直接回车确认存放路径即可。如果密钥已经存在,看到提示already exists的时候,覆盖,输入y。
(六)将公钥id_rsa.pub追加到authorized_keys授权文件中
命令行输入:
- cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys
开始是没有authorized_keys文件的(authorized_keys 用于保存所有允许以当前用户身份登录到ssh客户端用户的公钥内容)
(七)登录ssh,确认登录不需要密码
命令行输入:
- ssh localhost
(八)退出命令:exit