Armin
迷茫的话 TRY AGAIN 多少次都能重新再来

解决ssh配置无密码登录后 又出现输入密码的情况--hadoop集群配置 

 

主机ip:192.168.163.100(hostname: node0)

ssh无密码登陆的远程机ip:192.168.163.101(hostname: node1)

 

首先要修改主机 和ssh连接到的远程机 的配置文件:

 

vi  /etc/ssh/sshd_config

(要确保这些字符前无注释符号“#”)

RSAAuthentication  yes

PubkeyAuthentication yes

AuthorizedKeysFile  .ssh/authorized_keys

PasswordAuthentication yes

PeimitEmptyPasswords yes

 

1.在本地机上输入命令: ssh-keygen -t rsa

 

2.接着一路按回车,默认情况下ssh生成的公密钥会被存储到

/root/.ssh

这个文件夹下,分别为id_rsa 和id_rsa.pub

 

3.在本地机上创建文件 authorized_keys

touch /root/.ssh/authorized

并将公钥追加到authorized_keys文件中:

cat id_rsa.pub >> authorized_keys

 

4.修改文件夹/root/.ssh的权限:

(本地机和远程机都要修改)

chmod 700 /root/.ssh

 

5.修改文件的属性:

chmod 600 /root/.ssh/authorized_keys

 

6.将公钥复制到ip地址为192.168.163.101的远程机上:

 

ssh-copy-id  -i  /root/.ssh/id_rsa.pub  root@192.168.163.101

 

笔者在输入命令时已经在远程主机上创建了文件夹及文件如下:

 

/root/.ssh/authorized_keys

 

并且,已经按上文修改了权限/.ssh (700)  /.ssh/authorized(600)  

(实践证明在传送公钥时,这个命令好于scp命令 )

 

 

 

7.在本地机上执行命令:

ssh-add  /root/.ssh/id_rsa

这个是为了将公钥添加进来。

 

8.重新启动ssh服务:

service sshd restart

 

9. 在本地主机上输入:

ssh node1(回车)

即可登录到远程主机上了。

 

ps:文件夹路径或是文件名根据个人的配置而有所不同,

需要根据具体情况进行更改。

不对文件夹及文件修改权限和没有执行ssh-add命令

都会引起设置之后远程登陆仍需要输入密码的情况。

 

当然,也要注意对配置文件进行设置及修改。

 

 

posted on 2013-02-07 11:23  Armin  阅读(278)  评论(0)    收藏  举报