普通用户之间的ssh无密码访问设置方法

两台CentOS6.2服务器,客户端是node1,服务器是node2,先都用root用户配置,方法如下:

第一步:在客户端Node1:生成密匙对,我用的是rsa的密钥。使用命令 "ssh-keygen -t rsa"

生成的过程中提示输入密钥对保存位置,直接回车,接受默认值就行了。接着会提示输入一个不同于你的password的密码,直接回车,让它空着。

其中公共密钥保存在 ~/.ssh/id_rsa.pub
私有密钥保存在 ~/.ssh/id_rsa



之后把这个密钥对中的公共密钥复制到你要访问的机器上去,并保存为 ~/.ssh/authorized_keys.

scp ~/.ssh/id_rsa.pub node2:/root/.ssh/authorized_keys

这样就大功告成了。


现在转为一个普通用户test(两台服务器都有这个用户),在/home/test/.ssh下用相同的方法配置,最后运行scp命令,仍要求我输入密码,郁闷。是什么原因呢?查看node2中的/var/log/secure就明白,提示 

bad ownership or modes for directory

是不是因为权限原因呢?

经研究,的确如此

在Node2中.ssh目录权限必须为 755 或者 700就是不能是77x
rsa_id.pub 及authorized_keys权限必须为644

posted @ 2016-07-30 23:02  guohezu  阅读(320)  评论(0编辑  收藏  举报