大家群晖安装好后,基本上都要开启ssh登陆,获取root管理员权限,登陆时都是使用密码验证的,大部分人群晖都会开启ddns了,与外网连通了。一般安全意识强些的网友都会修改一下默认的22端口,并且设置一个比较复杂的密码。有时遇到陌生地址扫描,心里也是挻担心,万一密码被猜到了,那就麻烦了。 下面介绍一种更为安全的SSH证书登陆方式 ,禁用密码登陆,安全性直接提高一个档次,不是一点点,彻底杜绝暴力破解,群晖经常放外网的有必要使用这种方式登陆。 ``` 用到的工具:winscp (winscp自带putty,用起来很方便。) 要修改的配置文件: `/etc/ssh/sshd_config` 开始前把群晖telnet临时打开一下,如果修改失败,还可以通过telnet登陆。 ``` ### 具体步骤: #### ① 生成服务端和客户使用的证书,ssh登陆群晖,运行以下命令: `ssh-keygen -t rsa -b 2048 -C "Nas Certificate" `//生成一个2048位的 RSA证书 ,注意是大写C,标记证书用的。 需要几次回车确认,期间会提示输入口令,建议输入密钥口令,其它都不需要修改,默认位置就好, 注意自己的证书生成位置,如果是root用户,就是在root目录下,其它用户是在自己的home家目录里。 ![1-ssh.jpg](https://blog.litchi.ren/usr/uploads/2019/02/1903036671.jpg) ![2-Keygen.jpg](https://blog.litchi.ren/usr/uploads/2019/02/3935883663.jpg) 执行完毕后会在:`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,格式转换是自动完成的,按提示操作即可 ![3-设置秘钥.jpg](https://blog.litchi.ren/usr/uploads/2019/02/327588492.jpg) ![4-秘钥格式转换.jpg](https://blog.litchi.ren/usr/uploads/2019/02/2419817874.jpg) 全部完成后,最好重启一下群晖,让sshd服务生效, 当然你也可以生动重启ssh服务 ,命令如下 `synoservicectl --restart sshd` 重启sshd服务 `synoservciectl --reload sshd` 重新载入sshd配置文件 **注意:** ``` ssh重启之后,.ssh文件夹可能会丢失,所以最好先备份一下 如果忘记备份.ssh文件夹,导致无法登陆时,可以在网页中开启Telnet登陆修改 ssh重启之后可能无法登陆,需要在网页上关闭ssh后重新开启ssh ``` 全部完成后,你的群晖就开启了SSH证书验证登陆了。 相比密码安全性也大大提高,放在外网也不怕暴力破解了。 另外说下,使用谷歌的secure ssh app 浏览器插件,可以直接使用密钥文件,非常方便。 ![5-秘钥密码.jpg](https://blog.litchi.ren/usr/uploads/2019/02/497642294.jpg) ![6-ssh连接Nas.jpg](https://blog.litchi.ren/usr/uploads/2019/02/3464058860.jpg) ![7-成功连接Nas.jpg](https://blog.litchi.ren/usr/uploads/2019/02/3076246414.jpg) 最后修改:2019 年 02 月 04 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏