I'm starting to provide Chinese / English versions of some posts, switch with the Language menu above. 我开始提供部分文章的中文、英文翻译,请使用顶部语言菜单切换。

Bad Apple 移植到 Telnet 中并成功放映

今天折腾了半天,把 Bad Apple 折腾到了我 VPS 的 Telnet 里面,用的就是我早些时候发的命令行动画版

如果大家想看,telnet xuyh0120.tk 或 telnet 5.175.156.249

Round 1. 移植到 SSH

因为本来和同学说好我要在 SSH 下折腾出一个,所以就先用这个了。首先把 Bad Apple 传到 VPS 上,我存在 /opt/badapple。这个文件夹里两个文件:badapple 和 badapple.in(资源文件,我改过扩展名)。

useradd badapple
passwd badapple
# 密码我设的badapple
su badapple
# 切换过去
chsh
# 输入/opt/badapple/badapple
exit

SSH 登录看效果,结果 Error 2,找不到资源文件。我就在本地重新编译一遍(VPS 上没 FPC),把路径从相对改成绝对,上传,再次登录,就成功出现了 Bad Apple 的动画。

下一个要解决的问题是放完片子自动把用户 T 出去,我的一同学给我的建议居然是 pkill -9 sshd…… 这样效果不错,但是你对得起另外在看的人吗…… 不过我发现,片子放完,我用 pascal 写的这个程序结束之后,openssh 自动断掉了链接。

但是 SSH 功能过分强大,会有安全隐患,比如 SSH 自带的 SFTP 文件传输协议,可以直接跳过 sh。所以需要在 /etc/ssh/sshd_config 里找到这么一段:

Subsystem sftp /usr/libexec/openssh/sftp-server```

具体内容有所差异,但是开头就是 Subsystem,前面加 #号注释掉就可以。

第二个要禁用的就是 TCP/IP 端口转发,这个功能强大,必须得封掉。还是在上面那个文件里加上:

AllowTcpForwarding no```

但是在后来的研究中,我又发现了 SCP 文件传输,而且居然和 SSH 深度绑定,无法禁用。于是我只好悲剧的放弃了 SSH,删除了用户。

Round 2. 移植到 Telnet

大家在自己机器里执行一下 telnet towel.blinkenlights.nl 试试。放心,不会搞坏你的机器,但是 Vista 及以上用户一般看不到效果。

这是国外一家网站提供的星球大战 ASCII 艺术,可以在 telnet 里看。所以我也准备试试。

apt-get install telnet telnetd xinetd
cd /etc/xinetd.d
nano telnet
#输入:
#service telnet
#{
#        disable=no
#        flags=REUSE
#        socket_type=stream
#        wait=no
#        user=root
#        server=/usr/sbin/in.telnetd
#        log_in_failure+=USERID
#}
service xinetd restart

当时我还没有删除 badapple 用户,所以 telnet 过去,输用户名密码就进了。但是输密码麻烦,而且在那个星球大战里面也无需输密码。所以我只好研究一下 telnetd 了。执行 man telnetd,发现有一个 - L 参数,可以自己设定登录用的程序,也就是 Login Shell。我在 xinetd 里加了参数,没用。结果 man 里还有一句:默认使用 /usr/lib/telnetlogin。高级!

cd /usr/lib
mv telnetlogin telnetlogin_backup
ln -sf /opt/badapple/badapple telnetlogin
service xinetd restart

以上就是用 Bad Apple 替代原有 Login Shell,在登录阶段就开始显示动画。和 SSH 一样,动画放完 telnet 也会自动断掉。

效果非常爽,除了出来动画前还有一句 Debian GNU Linux 6.0 什么的,但是我要的效果已经达到了,收工。

演示地址:telnet xuyh0120.tk 或 telnet 5.175.156.249

本站使用运行在 Vercel 上的 Waline 评论系统,中国大陆访问可能不稳定。