chsh 后 ssh 无法连接怎么救
tl, dr:
https://www.vultr.com/docs/using-finnix-rescue-cd-to-rescue-repair-or-backup-your-linux-system/
01
不知出于什么原因,没有用常用的 Hyper,而是文艺复兴般打开了系统自带的 Terminal,用 SSH 登入了服务器。
登入后才发现上面的一排字眼,建议我设置默认的 shell。
还以为是自己没有换 shell 的原因(其实早就换成 zsh 了)导致系统出现这行提示,我便复制粘贴了上面那句话,按下了回车,但已然忘记我还保持着和那台 Ubuntu 服务器的连接。
眼睛一扫而过,看到了 not found 三个字,好像隐约有点不对劲。但我却福至心灵的,熟练的让人心疼,又输入了 exit,按下了回车。
又在本地重新输入了那句 chsh -s /bin/zsh
。返回 no changes made
。
深感大事不妙。
再次尝试 ssh 到服务器,但却提示输入密码。
奇怪,我不是已经设置好用密钥登录吗?
密码错误?
完蛋,登入不进去了。
02
用万能的谷歌查询了一下,原来是我指定了一个不存在的 shell,于是导致验证失败(其实已经猜到了),需要用 livecd 解决。
遂开了张 ticket,热心的客服也很快告诉我如何挂载 livecd。
这题不难,我会
03
熟练的打开服务商提供的 noVNC,黑屏
刷新,灰屏
输入,没反应
刷新,嘿(一声),有反应了
输入,没反应
刷新,嘿(一声),有反应了
合着是练习我盲打水平对吧(只看键盘不看屏幕那种)
04
挂载 volume
mount /dev/vda1 /mnt
改 /etc/passwd
在没有任何反馈的情况下
shift + $ , hhhh, i , del, del, del, bash, esc, :wq
谁能感受我绝望
好在是终于改完了
05
终于改完了吗?
没效果啊
难道我要再走一遍流程?
日,我改的是 livecd 里面的 passwd。
06
cd 到 /mnt
vi etc/passwd
shift + $ , hhhh, i , del, del, del, bash, esc, :wq
重启,退光盘
问题终于解决了
07
回复工单,顺便吐槽一下他们的 noVNC……