来吧兄弟,一起玩一起讨论!
您需要 登录 才可以下载或查看,没有账号?注册
×
本帖最后由 hongluo2000 于 2018-4-20 21:01 编辑
大家群晖安装好后,基本上都要开启ssh登陆,获取root管理员权限,登陆时都是使用密码验证的,大部分人群晖都会开启ddns了,与外网连通了。一般安全意识强些的网友都会修改一下默认的22端口,并且设置一个比较复杂的密码。有时遇到陌生地址扫描,心里也是挻担心,万一密码被猜到了,那就麻烦了。
下面给大家介绍一种更为安全的SSH证书登陆方式 ,禁用密码登陆,安全性直接提高一个档次,不是一点点,彻底杜绝暴力破解,群晖经常放外网的有必要使用这种方式登陆。
用到的工具:winscp (winscp自带putty,用起来很方便。)
要修改的配置文件: /etc/ssh/sshd_config
开始前把群晖telnet临时打开一下,如果修改失败,还可以通过telnet登陆。
具体步骤:
① 生成服务端和客户使用的证书,ssh登陆群晖,运行以下命令:
ssh-keygen -t rsa -b 2048 -C "my nas certificate"
//生成一个2048位的 RSA证书 ,注意是大写C,标记证书用的。
需要几次回车确认,期间会提示输入口令,建议输入密钥口令,其它都不需要修改,默认位置就好,
注意自己的证书生成位置,如果是root用户,就是在root目录下,其它用户是在自己的home家目录里。
证书文件
生成证书
执行完毕后会在:root/.ssh/目录下生成两个文件证书文件
公钥文件:/root/.ssh/id_rsa.pub
密钥文件:/root/.ssh/id_rsa
证书验证文件:/root/.ssh/authorized_keys 注意此文件是手动建立的,如果没有的话,要手动建一个文件,名字是authorized_keys
将私钥文件id_rsa下载到本地,等会登陆时会用到。
②将公钥证书文件写到证书验证文件里
命令: cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
也可以在图形下操作,用winscp打开公钥文件id_rsa.pub,将其中内容复制一下,然后粘贴到authorized_keys文件里,authorized_keys文件是空的,打开后直接粘贴进去保存即可。
③修改群晖SSH服务配置文件:/etc/ssh/sshd_config #开头的行表示被注释了,把#去掉就可以生效了,内容比较多,只需要修改需要部分,如下: - PermitRootLogin yes //允许root用户登陆
- RSAAuthentication yes //开启RSA证书验证
- PubkeyAuthentication yes //开启公钥证书验证
- AuthorizedKeysFile .ssh/authorized_keys //公钥证书就放在这个文件里
- PasswordAuthentication no // 禁用密码验证,如果为yes表示开启密码验证。开启证书验证后,这个可以关闭了。更安全
- StricktModes no //禁用严格权限模式,yes表示开启,开启后系统会检查证书家目录的权限,家目录权限建议设为700,证书文件建议设为600,刚开始可以设置为no。
④设置winscp登陆为证书验证
进入winscp点击密码下面的高级设置将下载的私钥文件id_isa证书作为密钥文件
初次使用时会提示你格式转化,winscp的putty使用的证书格式是ppk,格式转换是自动完成的,按提示操作即可
设置证书登陆
证书登陆
全部完成后,最好重启一下群晖,让sshd服务生效,
当然你也可以生动重启ssh服务 ,命令如下
synoservicectl --restart sshd 重启sshd服务
synoservciectl --reload sshd 重新载入sshd配置文件
全部完成后,你的群晖就开启了SSH证书验证登陆了。 相比密码安全性也大大提高,放在外网也不怕暴力破解了。
另外说下,使用谷歌的secure ssh app 浏览器插件,可以直接使用密钥文件,非常方便。
公钥认证
谷歌ssh插件
|