用RSA密钥登录DSM

用RSA密钥登录DSM

为什么要公网开放22端口出来?

为了方便通过IOS的快捷指令运行特定的脚本。之前用账号密码的方式登录,虽然密码用的是微软建议的强密码,但是还是不放心。DSM有显示的拦截记录有四条,太可怕了!
印象深刻的是2013年的时候,刚接触linux,当时把22端口放出来,密码用的是全世界通用的123456,黑客只用了6秒钟,就在内核中植入了木马。我当然发现不了的,是当时手把手教我搭建ubuntu-rounter的大神发现的,说我真敢设!其实我真不知道,在windows的世界,木马啊病毒的好像是上个世界的事情了,但是在linux的世界,这些一直都还在。
为了彻底解决这个事情,这次仔细研究了密钥对。
hark1
hark2

参考资料

主要参考了DSM官方文档,这次细细的读了一遍文档,搞明白了是怎么回事了。

https://kb.synology.cn/zh-cn/DSM/tutorial/How_to_log_in_to_DSM_with_key_pairs_as_admin_or_root_permission_via_SSH_on_computers

首先要了解什么是公钥,什么是私钥
公钥(Public Key)与私钥(Private Key)是通过加密算法得到的一个密钥对(即一个公钥和一个私钥,也就是非对称加密方式)。
公钥可对会话进行加密、验证数字签名,只有使用对应的私钥才能解密会话数据,从而保证数据传输的安全性。公钥是密钥对外公开的部分,私钥则是非公开的部分,由用户自行保管。
我的理解,公钥就是锁,而私钥就是钥匙。钥匙放自己手上,锁就放到需要打开的服务器里去。
一个服务器有多个账号,那如何确定你放进去的公钥是你这个账号的公钥呢?
用文件夹区分。
例如root账号的公钥是放在/root/.ssh里的,同理,管理员账号的公钥是放在/volume1/homes/XX/.ssh,这个xx就是你管理员账号。对应的账号放到对应的文件里去。
具体放在文件夹下的那个文件里呢?
authorized_keys

如何将秘钥上传到服务器

生成秘钥的步骤不讲了,我这次并不是在一个linux机子上生成的钥匙对,而是在IOS的快捷指令的“通过SSH运行脚本”的快捷指令里生成的,秘钥直接放在快捷指令里,拷贝公钥出来。

制作公钥文件id_rsa.pub

新建TXT文件,复制公钥进去,然后保存为”id_rsa.pub“

上传公钥到相应文件里

我这次用的是root账号,上传到的应该是/root/.ssh/authorized_keys文件里的
1.随便找个文件夹,把刚才生成的”id_rsa.pub“文件上传上来
2.用 cat命令把公钥添加进去
如:
cat /volume2/homes/XXX/id_rsa.pub >> /root/.ssh/authorized_keys
第一个路径就是刚才说的随便找个文件夹上传上来,第二个路径就是秘钥要添加到的地方。
这样,公钥上传就结束了。

收尾工作

因为之前已经尝试过用RSA登录的方式登录DSM,但是没成功,但是有些步骤的修改保留了下来。这也是这次能上传公钥就可以登录的原因。

1.开启RSA登录

sudo vi /etc/ssh/sshd_config
将配置文件中的三个参数进行修改

1
2
3
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

这里注意到了一个非常熟悉的路径:.ssh/authorized_keys,原来公钥存放文件是在这里定义的

2.PUTTY生成公钥和私钥

在putty的下载地址下载PuTTYgen
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
可一键生成公钥和私钥,有趣的是,生成过程中,要鼠标不断在的进度条上滑动它才会动。这是一种什么保护机制不得志,第一次碰到

3.尝试用putty无密码登录

公钥上传到DSM,私钥找个地方地方起来,然后把路径设置到PUTTY里“Connection→SSH→Auth”,在Host Name里用USER@local的方式设置地址,例如root@192.168.1.1
如果可以登录,就可以去关闭密码登录了

4.关闭密码SSH登录

sudo vi /etc/ssh/sshd_config
将PasswordAuthentication改成no

1
PasswordAuthentication no

尝试用PUTTY密码登录,就会显示无法登录了
nopassword


用RSA密钥登录DSM
http://yoursite.com/2023/01/10/DSM/用RSA密钥登录DSM/
作者
五泡哥
发布于
2023年1月10日
许可协议