昨天上午想着从 fish shell 换回 zsh,一顿配置之后删掉了 fish shell 然后心满意足地连点两次 Ctrl+d,然后就发现 SSH 连不上去了……
很久以前为了安全性禁止了 root 登录,平时都用这个 sudo 账号操作,结果默认 Shell 没了什么命令都不好使,SSH Key 也不认了,密码登录也不行,StackOverflow 上的方法试了一圈都没效果,最后只能重开了一台机器然后花了一下午时间把各种服务都恢复上(万幸都在 GitHub 或者 Onedrive 上有备份)。
记录一下自己的手贱经历,希望能给大家一个提醒吧。
1
CEBBCAT 2020-03-10 07:26:11 +08:00 via Android
嘻嘻嘻,类似的事儿我也干过,我那时候是 chsh 的时候只写了 zsh 的名字,没有写绝对路径
|
2
user20190708 2020-03-10 07:31:26 +08:00 via Android
如果使用的 XX 云&&禁止 root 远程登录,可以尝试在 XX 云的控制台 vnc 登录。
|
3
YaakovZiv 2020-03-10 07:35:11 +08:00
有些平台的云主机,是有一个图形界面的,那个界面不受 SSH 这个影响。就类似于某些服务器的 BMC 界面那种
|
4
ynyounuo 2020-03-10 08:00:25 +08:00 via iPhone
用其他方式在 PATH 里放一个编译好的
|
5
d0m2o08 2020-03-10 08:12:26 +08:00
刚参加工作的时候电信机房托管的机器,配置 iptables 把自己屏蔽了😂
|
6
noqwerty OP @CEBBCAT #1 差不多效果
@user20190708 #2 @YaakovZiv #3 试过了,root 密码也不是默认的,忘了什么时候改过了 @ynyounuo #4 还有什么方式吗,我能想到的方式都需要登录进去 @d0m2o08 #5 哈哈哈我也差点干过这个,最后一秒理智战胜了脑抽 |
7
lithiumii 2020-03-10 08:34:51 +08:00 via Android
我搞过的骚操作是 ssh 配置写错了,没有先试试就直接重启……
|
8
no1xsyzy 2020-03-10 09:02:23 +08:00
没 shell 应该还可以做端口转发(应该可以)和 scp (不太确定)的吧
|
9
no1xsyzy 2020-03-10 09:06:50 +08:00
@noqwerty 没 shell 只是不能进命令行界面,ssh 链接还是能建立的吧,只要不请求 shell 应该不致链接中断
虽然全都是我这边拍脑袋( |
10
idealhs 2020-03-10 09:07:00 +08:00
VNC 啊老哥,就像去机房自己操作一样
|
11
passerbytiny 2020-03-10 09:20:45 +08:00
@noqwerty #5 root 账号你可以不用,但要留着呀。起始你这种完全不用 root 的 sudo,跟直接用 root,只有脱裤子放屁的区别,因为你那个 sudo 的账号拥有全部权限。
|
12
Pyjamas 2020-03-10 09:26:37 +08:00 2
ssh 的一瞬间疯狂按 ctrl+c,可以在.bashrc (或者.zshrc 之类的)被加载之前让它停下来,然后你就可以进到 sh 了
嗯,我记得两年前我用这个方法试了大概 20 分钟,终于 work 了,当然前提是你的网络要好... |
13
Mohanson 2020-03-10 09:30:38 +08:00 via Android 1
ssh 有个参数 -c, /bin/bash 填上很 ok
|
14
mostkia 2020-03-10 09:43:52 +08:00
webssh 挺香的,99%的 ssh 爆破都针对 22 端口,最低成本的就是改端口,虽然用着不舒服,脱离了 22 端口的 ssh 都行。网页上进行操作就挺好的,不放心还可以用后台做权鉴加固。以前一直被爆破,每天都有上万次的登录记录,换了 webssh,控制面板关闭 22 端口后,世界清净了。。
|
15
noqwerty OP |
16
noqwerty OP @passerbytiny #11 是啊,这次开新机器第一件事就是把 root 密码换成了自己的常用密码。平时不用 root 主要还是考虑到一些脚本的安全性问题,不加 sudo 跑不起来起码心理上感觉安全一些
|
19
Vegetable 2020-03-10 09:51:59 +08:00
ssh root@ip "/bin/bash"就通过 bash 连接到服务器上了,只是和平时看起来不太一样,通过这个修改一下默认 shell 重新登录一切都解决了。
|
20
no1xsyzy 2020-03-10 09:52:22 +08:00
@noqwerty #16 安慰剂
而且还是氢型安慰剂(即是指只有心理上的安慰,但这一安慰感本身是有害的,会让你 “飘飘然”) |
21
monospace 2020-03-10 11:01:25 +08:00
> 一定不要在没有更改默认 Shell 的情况下删掉对应的 Shell
知道了(虽然没有删过 shell ) |
22
lululau 2020-03-10 11:03:43 +08:00
不用了留着就好了,一个 shell 能占几两存储空间啊
|
26
jim4ever 2020-03-10 15:33:19 +08:00 via Android
一顿操作猛如虎😄
|