如何建立SUSE Linux 主机互信?

[复制链接]
红糖Girl   高级会员    发表于 2016-10-17 14:41:16   最新回复:2016-12-14 09:48:34

由于业务需要,经常需要主机间做互信,即免登陆。最近一次遇到奇怪的情况:A、B、C主机做了互信,A可以访问B、C,B可以访问C,C可以访问B,但是B、C都不能访问A。从网上也查阅了相关资料,但都没有解决问题。现将我的方法分析下。

 

常规的建立互信方法:

 (1) 生成密码对

$ ssh-keygen -t rsa     

直接回车几次,可在默认路径~/.ssh/下生成私钥idrsa公钥idrsa.pub。

分别在host1,host2和host3上执行上述命令

(2) 生成authorized_keys

将host2、host3的公钥传到host1上。

 

在host2上输入

$scp /home/hadoop/.ssh/id_rsa.pub hadoop@host1:~/.ssh/id_rsa.pub.host2

 

在host3上输入

$scp /home/hadoop/.ssh/id_rsa.pub hadoop@host1:~/.ssh/id_rsa.pub.host3

 

以上命令目前还需要输入目标机用户密码。

 

在host1上输入

$cd ~/.ssh/  

 

$ls  

查看idrsa.pub.host2、idrsa.pub.host3是否已经传输过来。

 

$ cat id_rsa.pub >> authorized_keys

$ cat id_rsa.pub.host2 >> authorized_keys 

$ cat id_rsa.pub.host3 >> authorized_keys     

生成authorized_keys。

 

给authorized_keys修改权限

 

#chmod 644 authorized_keys 

利用scp把该文件传送到host2、host3的.ssh/下

 

#scp authorized_keys hadoop@host2:~/.ssh/

#scp authorized_keys hadoop@host3:~/.ssh/

(3) 验证

测试在host2下输入

ssh host1 

 

疑难问题解决:

如果上面验证环节,ssh host1后,依然提示输入密码,则说明免登陆认证没有通过。到hosts1主机

的/var/log目录,查看messages日志

host1:/var/log # tail -f messages

Dec 26 09:25:46 node1 sshd[6347]: Authentication refused: bad ownership or modes for directory /home/hadoop

 

这里提示/home/hadoop目录的权限错误,将/home/hadoop权限修改如下

host1:/var/log # ll /home/

drwxr-xr-x 27 hadoop          wheel            4096 Dec 26 16:00 hadoop

跳转到指定楼层
winktv2002
winktv2002   VIP    发表于 2016-11-2 00:32:50

这好像是早期的两台主机的互相信任。
winktv2002
winktv2002   VIP    发表于 2016-11-2 00:34:09

在惠普还是业界老大的时候用过,一转眼10多年过去了。又消失一个世界精英企业。
红鲤鱼与绿鲤鱼
红鲤鱼与绿鲤鱼   小试牛刀    发表于 2016-12-14 09:48:34

我记得当时做的时候有个权限问题,折磨了好久
用户目录权限为 755 或者 700就是不能是77x
.ssh目录权限必须为755
rsa_id.pub 及authorized_keys权限必须为644
rsa_id权限必须为600
快速回复 返回顶部