Linux主机A和主机B间可以建立信任关系,使主机A可以无密码ssh登陆主机B.
A主机上执行
ssh-keygen -t rsa -b 1024
也可以使用
ssh-keygen -t dsa -b 1024
此时会在主目录下生成 .ssh目录,cd进入~/.ssh目录
执行 cat id_rsa.pub 将显示结果复制 (也可以使用cat id_dsa.pub,这个一般有现成的)
B主机上进入主目录下的~/.ssh ,如果没有,则执行ssh-keygen生成。
将复制的结果粘贴到B主机.ssh目录下的authorized_keys文件的最后一行
ok,信任关系建立了,在主机A上执行 ssh user@B 第一次执行,会提示一个确认,选择yes回车,结果不用输入密码,登录成功!
其中有三点需要注意的地方,如果已经按照以上方法做了,还是不可以,那就比照下边三条对比一下:
- authorized_keys 文件必须是600权限(也就是-rw——-)或者644
- .ssh目录必须是700权限(也就是drwx——)
- /home/work目录 必须是 755权限 即drwxr-xr-x
chmod 755 work
很多时候 /home/user 目录权限是777,不是755,怎么都不行,信任关系建不起来,最后把/home/user目录的权限由777改成755才能解决。