您的位置:首页 > 运维架构 > Linux

linux(centos6)下 hadoop安装之ssh配置脚本 permission denied

2011-10-14 11:08 405 查看
配置ssh费老劲了!以前没玩过linux,学到很多东西,命令熟了很多

1.首先是修改 /etc/ssh/sshd_config  ssh的配置文件

其中#行指注释掉得

主要的几个:

Protocol 2 ←去掉# 修改后变为此状态,仅使用SSH2

ServerKeyBits 1024 ← 修改后变为此状态,将ServerKey强度改为1024比特

PermitRootLogin no  ← 修改后变为此状态,不允许用root进行登录,只能切换回非root用户才能登陆

PasswordAuthentication no ← 修改后变为此状态,不允许密码方式的登录,开始设置成yes也可以,就可以在服务器用ssh密码登陆到本机,将公钥认证文件复制过去然后添加到公钥本文件再传回来,再设置成 no

PubkeyAuthentication yes ← 大家一定注意这个,非常关键,必须设置成yes,允许从公钥认证文件登录,搞了一下午加一晚上才整明白,这个文件里设置的东西太多,出现了 permission denied就改这个文件,无头苍蝇般,一会好用一会不好用,绝大多数不好用

2关于密钥生成后权限配置

这个也被搞了N久,装LINUX,配置网络,装CENTOS6,所有的时间加起来不如ssh耗费的精力多,有的机子好用有的机子不好用,将上面配置改来改去,一直不好用。第二天才发现修改这个就可以了,然后就是一顿试,看改成什么样才行。好像默认的id_rsa就是400,其他的就不知道了,大家可以玩玩看,反正最后的正确设置参考如下:

(1)id_rsa 400,即user只读,g o无权限

(2)id_rsa.pub rm 删除

(3)authorized_keys :u必须有r权限,g o必须没有w权限,其他的都随便,为安全考虑,最终将其设置成400,开始需要设置成600,如上所说,需要服务器传过来公钥本覆盖此文件,覆盖之后再设置成 400

测试过程:chmod ugo authorized_keys 设置之后运行 ssh localhost 看能不能连接 Y能连 N不能连 permission denied

ugo 777 Y

000 N
//连续4个看出,user必须有r权限

100 N

200 N

400 Y

444 Y
//g o有r权限也是可以的

544 Y //u其他权限随意

644 Y

744 Y

433 N //连续四个看出 g o 不能有w权限其他随意,

410 Y

411 Y

420
N

学了大半天的脚本编写,写了个简单的ssh配置脚本,前提是有一个配置好的sshd_config文件setssh.sh



为方便不熟的自己练练,整个图片过来了

需要输入一个参数:自己的sshd_config的位置 如 我的是 ./setssh.sh /home/sshd_config ,没写帮助,见笑了

最后别忘了,将公钥本覆盖了以后设置两个东西,

一个是 /etc/ssh/sshd_config的PasswordAuthentication no 然后重启ssh服务(前面说过);

chmod 400 ~/.ssh/authorized_keys

随便输入 ssh localhost,哈哈

OK了,成功也安全了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: