ITPub博客

首页 > 大数据 > Hadoop > Hadoop过程中配置SSH免密码登录

Hadoop过程中配置SSH免密码登录

原创 Hadoop 作者:wzhalal 时间:2017-12-30 09:05:14 0 删除 编辑

假设用户名为u:


1)确认已经连接上互联网,然后输入命令:


sudo apt-get install ssh


2)配置为可以免密码登录本机。首先查看在u用户下是否存在.ssh文件夹(注意ssh前面有“.”,这是一个隐藏文件夹),输入命令:


ls –a /home/u


一般来说,安装SSH时会自动在当前用户下创建这个隐藏文件夹,如果没有,可以手动创建一个。


接下来,输入命令(注意下面命令中不是双引号,是两个单引号):


ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa


解释一下,ssh-keygen代表生成密钥;-t(注意区分大小写)表示指定生成的密钥类型;dsa是dsa密钥认证的意思,即密钥类型;-P用于提供密语;-f指定生成的密钥文件。


在Ubuntu中,~代表当前用户文件夹,此处即/home/u。


这个命令会在.ssh文件夹下创建id_dsa及id_dsa.pub两个文件,这是SSH的一对私钥和公钥,类似于钥匙和锁,把id_dsa.pub(公钥)追加到授权的key中去。


输入命令:


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


这条命令的功能是把公钥加到用于认证的公钥文件中,这里的authorized_keys是用于认证的公钥文件。


至此免密码登录本机已配置完毕。

注意:修改修改.ssh目录的权限以及authorized_keys 的权限(这个必须修改,要不然还是需要密码)
 
 chmod 644 ~/.ssh/authorized_keys
 
 chmod 700 ~/.ssh
 

如果涉及给别的机器,A将公钥发给B,不是说让B来访问A,而是A就可以访问B了。也就是说B不能在.ssh文件夹下的authorized_keys保留A的公钥,如保存就是把自己让给别人来访问!如果这个理解反了,那就会总是不成功!




3)验证SSH是否已安装成功,以及是否可以免密码登录本机。


输入命令:


ssh –version


显示结果:


OpenSSH_5.8p1 Debian-7ubuntu1, OpenSSL 1.0.0e 6 Sep 2011


Bad escape character 'rsion'.


显示SSH已经安装成功了。


输入命令:


ssh localhost


会有如下显示:


The authenticity of host 'localhost (::1)' can't be established.


RSA key fingerprint is 8b:c3:51:a5:2a:31:b7:74:06:9d:62:04:4f:84:f8:77.


Are you sure you want to continue connecting (yes/no)? yes


Warning: Permanently added 'localhost' (RSA) to the list of known hosts.


Linux master 2.6.31-14-generic #48-Ubuntu SMP Fri Oct 16 14:04:26 UTC 2011 i686


To access official Ubuntu documentation, please visit:


http://help.ubuntu.com/


Last login: Sat Feb 18 17:12:40 2012 from master


admin@Hadoop:~$


这说明已经安装成功,第一次登录时会询问是否继续链接,输入yes即可进入。


实际上,在Hadoop的安装过程中,是否免密码登录是无关紧要的,但是如果不配置免密码登录,每次启动Hadoop都需要输入密码以登录到每台机器的DataNode上,考虑到一般的Hadoop集群动辄拥有数百或上千台机器,因此一般来说都会配置SSH的免密码登录。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28894640/viewspace-2149509/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-06-06

  • 博文量
    60
  • 访问量
    249721