使用动态令牌连接远程服务器

早期的网游似乎会让,玩家购买动态令牌绑定账户,提高游戏安全性,在那个木马横飞的年代,这种做法很有必要,不过现在的大数据风控加上手机短信验证,似乎比动态令牌来的安全,并且方便,毕竟手机随时随地都带着。

动态令牌产生一串简单的数字,能不能很好的保证安全,以前的我是挺怀疑的。工作原理并不显得复杂,过程就是对一串实现预置的密钥Key使用时间加盐,然后计算哈希值,并且保证30s内的哈希值都是一样的,服务端也保留着这个Key,验证的使用取出这个Key以同样的算法计算然后对比,特点是令牌有时效性,过一会儿就不能用了,为了排除时间不同步带来的偏差,当前时间产生的令牌的下一个或者上一个都是有效的,这种方法称为TOTP。另外一种是基于使用次数而变化算法,称为HOTP,把时间替换成计数器,每使用一次,计数器就加一,令牌也发生变化。上面QQ令牌就是使用TOTP,但不一定是标准协议。事实上如果最开始的Key就泄露了,那么根据Key计算出动态令牌也是很简单,之所以比密码安全,是因为将Key托管给了第三方的软件或者硬件,软件有Google 身份验证器,支持HOTP和TOTP,不支持同步不支持导出,也就是说除了在当前手机上面使用,除此之外,只能重新生成密钥。

![Google 身份验证器](../images/2019/winter/Google 身份验证器.webp)

Go通过D-bus直接与systemd通讯

systemd

systemd是一套软件,是Linux系统下面的第一个进程,用来初始化系统的各种任务,提供计划任务、电源管理、挂载磁盘、DNS解析、系统日志、网络配置等等,甚至使用systemd-boot替代Grub,大概感觉就是systemd能接管的,最后都会用systemd

systemctl是用来管理任务的,最直接的操作包括:启动、停止、重启、查看状态。

# 启动 caddy 服务
systemctl start caddy

这个命令是给维护人员在命令行上面使用的,虽然偶尔会偷懒,使用ifconfig命令获取IP地址之类的不是很骚的操作,但是调用二进制执行某些任务,最多只能知道成功了没有,这期间不包括某个命令找不到,缺乏执行权限,版本差异导致获取不到预期输出等等问题,最合适的做法是使用软件提供的开放接口执行命令。

PVE卡在initramfs-fsck检查无法顺利启动的解决

没有显示器,正常不关机,结果一次读写错误,只能重启,结果没开机,只能搬出显示器,接上键盘,过程实在麻烦。

简单说就是fsck检查没通过,需要手动解决,错误内容大概和下面差不多,我没有记录:

/dev/mapper/pve-data UNEXPECTED INCONSISTENCY; 
RUN fsck MANUALLY 
fsck excited with status code 4 
Failure: File system check of the root filesystem failed 
The root filesystem on /dev/mapper/pve-data requires a manual fsck

可以通过修改内核参数,强制跳过或者强制修复可能存在的错误。修改文件/etc/default/grub,找到

GRUB_CMDLINE_LINUX_DEFAULT

这个是内核启动参数,在后面添加:fsck.mode=force fsck.repair=yes,然后执行:

sudo update-grub

记录一下,开始使用tmux

之前一直使用screen,其目的也只是限于在断开服务器之后,任务不会给中断,以及可以看到之前任务的输出。换成tmux也差不多是这个目的,之前也自己尝试使用,自定义了一些配置文件,不过不太习惯,现在重新拿起来看看,顺带做一点笔记。

原来,硬盘损坏,数据丢失这种事我也会遇上啊

硬盘一直挂载路由器上面,离线下载,运行了大概5000+个小时,直到上个月某天路由器卡死,重启了几次不行,拔下硬盘,路由器可以正常启动,问题出在硬盘上面。

把移动硬盘插在电脑上面,可以识别,但是无法读取文件,具体表现为用文件管理器打开会卡死,这个在Windows和Linux下面都表现的一样。

上网搜索数据恢复服务,看价格都是十几倍甚至几十倍硬盘的价格,直到这时候才发现,如果你的硬盘损坏,正常情况下是不会去找数据恢复服务的。

我一直认为由于“幸存者偏差”,所以数据丢失这种情况是非常少的,就是发生了丢失的那些人才会在网上发帖,正常人不会半年或者一年在网上报告自己硬盘使用正常,然而事实比较符合“墨菲定律”,硬盘总会损坏,而且在你使用期间损坏。

不管数据是什么,在丢失的时候,总会很难受很沮丧,因为数据也算是某些物品,虽然拷贝成本很低,然而遇到这些情况跟你丢钱差不多一样的感觉。

之前挂载在电脑上还是能正常识别,后面用DiskGenius检测坏块,坏块非常的多,怀疑导致路由器卡死是因为在索引处出现坏块导致的卡死。我运气比较好,硬盘是因为坏块导致读取超时,找了很多软件之后找到Disk Drill,恢复了大部分的数据,不过大部分都是离线下载视频,对比了一下大小,发现还是有三分之一的数据没有显示出来,可能是我记错了,不过忘记了自己忘记了什么一样,其实杂乱的数据也不知道哪些不见了,就像以前拍照片,某个人的聊天记录,遗失在某个角落直到消失不见。

硬盘通电时间5000+小时,折算一下大概200+天,和我电脑里面通电4w小时的磁盘比起来,差的有点远。就算品牌产品质量之间区别,这个差距也是不正常,搜索之后发现,磁盘对于供电要求比较高,路由器在读写的时候,可能电压不够,导致磁盘处于不稳定的工作,外加移动硬盘本身并不适合24/7这样子的运行,当然这些都是猜测,并不靠谱。

以后会考虑组装NAS,加上RAID保证数据的安全,不过那得花很多钱,所以目前使用网盘保存数据也是不错的选择。