配置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

学了大半天的脚本编写,写了个简单的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了,成功也安全了

GitHub 加速计划 / li / linux-dash
10
2
下载
A beautiful web dashboard for Linux
最近提交(Master分支:29 天前 )
186a802e added ecosystem file for PM2 5 年前
5def40a3 Add host customization support for the NodeJS version 5 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐