Linux主机间建立信任关系

在主机A和主机B间建立信任关系,使主机A可以无密码ssh登陆主机B.

  1. A主机上执行 ssh-keygen -t rsa -b 1024 (也可以使用 ssh-keygen -t dsa -b 1024)
  2. 主目录下生成 .ssh目录
  3. 进入~/.ssh目录
  4. 执行 cat id_rsa.pub 将显示结果复制 (也可以使用cat id_dsa.pub,这个一般有现成的)
  5. B主机上进入主目录下的~/.ssh(如果没有,则执行ssh-keygen生成)
  6. 将复制的结果粘贴到B主机.ssh目录下的authorized_keys文件的最后一行
  7. ok,信任关系建立了,在主机A上执行 ssh user@B 第一次执行,会提示一个确认,选择yes回车,结果不用输入密码,登录成功!

其中有三点需要注意的地方,如果已经按照以上方法做了,还是不可以,那就比照下边三条对比一下:

  1. authorized_keys 文件必须是600权限(也就是-rw——-)或者644
  2. .ssh目录必须是700权限(也就是drwx——)
  3. /home/work目录 必须是 755权限 即drwxr-xr-x

第(3)条太坑了,就因为 /home/user 目录是777,不是755,怎么都不行,信任关系建不起来,最后把/home/user目录的权限由777改成755就立搞定了。。。>_<,好大的坑啊。。。