早上7点开心地用手机看番,嗯,就是那个故事发生时间正好是在今年的“萝卜片(伪)” Robotics Notes。
由于下的是[异域-11番小队]的资源,没有字幕,而Android上的kmplayer pro好像不能加载本地字幕,就打算通过xshell的file transfer功能把本地的字幕文件上传到服务器里。

发现问题

嗯,从这里开始事情发生了异常,也许是时间线变动了那么0.000000000000001而导致的。
当我cd到动画文件夹的上级目录是,我发现[异域-11番小队]XXXXXxxx这个文件夹竟然是奇怪的一串字符
'['$'......]',这不是坑爹呢,这让我这个新手怎么cd进去嘛。。(虽然可能有其他方法cd进去,比如按tab自动补全,但是我不爽啊,要是每次中文字符都这样那我这个半强迫症患者不开心啊)。

寻找凶手

好了,开始查找原因。
先是locale看了下,

 $ locale
LANG=
LANGUAGE=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
怎么变成了POSIX了,LANG那一栏竟然还是空的。
好吧,不管了先试试能不能改成en_US.utf8的unicode类locale

$ locale -a

C
C.UTF-8
POSIX
en_US.utf8
可以,en_US.utf8还活着
$ update-locale LANG=en_US.utf8

嗯,可以,没报错。
再看下locale,不对,怎么还是POSIX,这....
难道需要重启?好的,重启下...
十几秒后..

$ locale
LANG=
LANGUAGE=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
....................#黑线(加粗)
等等,也许是xshell的锅,前天好像更新了xshell,那我试试用cmd的ssh看看。
熟练地win+叉,键入cmd,键入
ssh -p port_number user@ip -i path_to_private_rsa

输入密码,查看locale。
.............................................((유∀유|||))
怎么还是POSIX,看来不是xshell的锅。
也许是修改locale的姿势不对,那就reconfigure下

$ dpkg-reconfigure locales

不对,怎么还是POSIX。
修改 /etc/environtment,重启,还是POSIX
修改 /etc/default/locale,重启,还是POSIX

肿么办,没法忍,重装系统吧。。

重装系统第一次

10min后,用密码登录服务器,查看locale。
不错这是我要的en_US.utf8。
开始例行设置pubkey auth,

$ ssh-keygen
$ cd .ssh
$ rm ./*
$ vim authorized_keys
$ vim /etc/ssh/sshd_config
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
ChallengeResponseAuthentication no
PAM no
ClientAliveInterval 600
ClientAliveCountMax 0
Reboot后连接,重新搞typecho,顺便打开bbr,开完bbr突然想起来要再次检查locale是否是对的
嗯,
$ locale

...
.....((유∀유|||))
你在逗我玩呢
不行,我换个Debian9。

重装系统第二次

10min后,这在每个关键动作执行后都查看locale,是否变化,
终于在修改了sshd_config后重连的第一时间发现了万恶的POSIX。

发现凶手

修改了sshd_config里的几个settings中,有两个不是很懂他们的作用,

ChallengeResponseAuthentication no
PAM no
分别开启关闭测试后,终于发现了罪魁祸首,是PAM。
谷歌了下,在serverfault上有人有同样的问题。
至于PAM的功能,自己wiki吧,嘿嘿