今天在搭建hadoop环境配置的时候,需要ssh无密码登录,费了九牛二虎之力,终于搞定了。
首先,不同的linux操作系统,可能之间的命令有一些少许的不同,我的操作系统是ubuntu,所以把我所搞的记录下来。
1、hadoop02@ubuntuserver2:/root$ ssh-keygen -t rsa 命令,出现一下结果,我一直按Enter,按到最后,
2、hadoop02@ubuntuserver2:/root$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys
注意:cat 与.ssh之间有空格,id_rsa.pub与>>之间有空格
3、hadoop02@ubuntuserver2:~$ cd .ssh
4、hadoop02@ubuntuserver2:~$ ls -a
authorized_keys id_rsa id_rsa.pub
5、hadoop02@ubuntuserver2:~/.ssh$ ssh localhost 进行检测,是否无密码登录
6、把hadoop02中的id_rsa.pub拷贝到hadoop01中
hadoop02@ubuntuserver2:~/.ssh$ scp id_rsa.pub hadoop01@192.168.1.135:/home/hadoop01
注意:hadoop01@192.168.1.135在ubuntu操作系统中必须这样写,否则就会出现错误。这可能跟其他的linux操作系统不同,hadoop01是你的登录名,192.168.1.135是IP地址。
这样就可以传递成功!
7、hadoop01@hadoop-master:~$ cat id_rsa.pub >> .ssh/authorized_keys
注意这个要在/hadoop01目录中,完成这部之后,hadoop02访问hadoop01就不需要密码访问了。
8、测试一下:在hadoop02中,ssh hadoop01@192.168.1.135 测试一下是否直接可以控制hadoop01了!