两台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 (责任编辑:IT) |