配置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了,成功也安全了