普通视图

发现新文章,点击刷新页面。
昨天以前首页

超级自恋狂 — 定制终端 ssh 欢迎语

2025年2月13日 15:36

今天宝子开学了,其实这个假期她在家也没待几天。昨天折腾完浏览器控制台自定义输出之后,目光又转向了很久之前就想做,但是一直没做的终端以及 ssh 的定制输出。

这个东西简单做法非常简单,不外乎是配置 sshd 的banner 或者/etc/update-motd.d/下的相关文件,然而,我想要的不仅仅是输出几个文字那么简单,最起码要能达到类似于昨天做的控制台输出 ascii 字符画的效果。

然而,这个实现起来的确比上文提到的控制台输出要复杂的多。毕竟作为纯文本的终端系统要输出复杂字符或者直接输出图片难度还是挺大的。

最开始是想基于 neofetch 来做:

Neofetch is a command-line system information tool written in bash 3.2+. Neofetch displays information about your operating system, software and hardware in an aesthetic and visually pleasing way.

The overall purpose of Neofetch is to be used in screen-shots of your system. Neofetch shows the information other people want to see. There are other tools available for proper system statistic/diagnostics.

The information by default is displayed alongside your operating system’s logo. You can further configure Neofetch to instead use an image, a custom ASCII file, your wallpaper or nothing at all.

You can further configure Neofetch to display exactly what you want it to. Through the use of command-line flags and the configuration file you can change existing information outputs or add your own custom ones.

Neofetch supports almost 150 different operating systems. From Linux to Windows, all the way to more obscure operating systems like Minix, AIX and Haiku. If your favourite operating system is unsupported: Open up an issue and support will be added.

地址:https://github.com/dylanaraps/neofetch/

效果:

在实际测试的时候发现左侧的图片要想实现项目首页的这个效果,竟然无法做到,按照 wiki 的指导,支持下面的 backend:

Neofetch 3.0 included a rewrite of how we handle different modes (imageascii and etc) which allowed us to add additional image backends to Neofetch. Neofetch now supports displaying images using catimglibcacachafaiterm2jp2akittypixtermpotlibsixeltermpixtycat, and w3m.

然而,不管是 iterm2 还是w3m,实际实现效果都非常差。无法正常显示要加载的图片。后来发现 viu 可以在终端显示图片,然而效果嘛,看下来还是不行,不过放到终端里面,也算是能看出人形来了。

然而,困难之处在于 neofetch 无法使用 viu 作为 backend 显示图片。

并且这个项目已经停止更新了,按照作者的说法是回家种地了。就在这个结束不久之后又出现了一堆新的 fetch。

按照评价最高的就是 fastfetch,这个东西同样支持定制化的图片输出。

Fastfetch is a neofetch-like tool for fetching system information and displaying it prettily. It is written mainly in C, with performance and customizability in mind. Currently, Linux, Android, FreeBSD, macOS, SunOS and Windows 7+ are supported.

地址:https://github.com/fastfetch-cli/fastfetch?tab=readme-ov-file

这个东西是用 c 语言开发的,不再跟 neofetch 一样是纯 bash 脚本。至于运行效率提升,应该是有一些。

同样,看项目首页的效果还是不错的:

既然选定了目标,那就继续开始折腾吧。由于家里的电脑是 windows,所以选择了远程 ssh 到 ubuntu 服务器上进行配置的方式。在测试的过程中发现基于 w3m 无法在 ssh 终端中显示图像。一番搜索之后,发现了这么一个项目:

https://github.com/sqlsec/fastfetch/tree/main?tab=readme-ov-file
Fastfetch 是一个类似 neofetch 的工具,用于获取系统信息并漂亮地显示它。它主要用 C 语言编写,并考虑了性能和可定制性。本项目是一个 Fastfetch 轮子,主要是集成了宝可梦显示和其他系列的恶搞图片,目前只在 Linux 和 macOS 平台下测试过。

里面继承了一个宝可梦的字符图片生成。那么基于这个东西既然能在 ssh 中显示,那么也就是说如果能生成宝可梦类似的文本就可以正常显示所谓的图片了。

上面的图片虽然模糊,但是生成一个网站 logo 应该是可以的。宝可梦的字符串是基于这个项目创建的:

https://gitlab.com/phoneybadger/pokemon-colorscripts.git

翻了半天代码发现,并不是通过图片生成的文本,而是本身就已经是文本:

这就尴尬了,也就是说通过这个项目的代码将图片转为文本已经不可能了。

google 上搜索 convert image/picture to text 或者convert image/picture to ascii,发现返回的都是 ocr 相关的内容,这该死的人工智能,现在已经没人有这种需求了吗?我是真的要讲图片转为文本,而不是要识别图片上的文本。翻了数十页,有用的信息 一条也没有。

这时突然灵光一现,直接搜索转化的文本:

https://www.google.com/search?q=%5B38%3B2%3B0%3B0%3B0m%E2%96%84%1B%5B38%3B2%3B0%3B0%3B0m%1B%5B48%3B2%3B99%3B132%3B173m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B0%3B0%3B0m%E2%96%84++++++++++++++++++++%0D%0A++%1B%5B38%3B2%3B0%3B0%3B0m%E2%96%84%1B%5B38%3B2%3B0%3B0%3B0m%1B%5B48%3B2%3B99%3B132%3B173m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B99%3B132%3B173m%1B%5B48%3B2%3B99%3B132%3B173m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B0%3B0%3B0m%1B%5B48%3B2%3B0%3B0%3B0m%E2%96%80%1B%5B0m+++++++++++++++%1B%5B38%3B2%3B0%3B0%3B0m%E2%96%84%1B%5B38%3B2%3B0%3B0%3B0m%1B%5B48%3B2%3B255%3B255%3B255m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B0%3B0%3B0m%1B%5B48%3B2%3B0%3B0%3B0m%E2%96%80%1B%5B0m++%0D%0A+%1B%5B38%3B2%3B0%3B0%3B0m%1B%5B48%3B2%3B0%3B0%3B0m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B99%3B132%3B173m%1B%5B48%3B2%3B99%3B132%3B173m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B99%3B132%3B173m%1B%5B48%3B2%3B99%3B132%3B173m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B99%3B132%3B173m%1B%5B48%3B2%3B65%3B65%3B65m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B0%3B0%3B0m%1B%5B48%3B2%3B65%3B65%3B65m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B0%3B0%3B0m%1B%5B48%3B2%3B255%3B255%3B255m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B0%3B0%3B0m%1B%5B48%3B2%3B255%3B255%3B255m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B0%3B0%3B0m%1B%5B48%3B2%3B255%3B255%3B255m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B0%3B0%3B0m%1B%5B48%3B2%3B189%3B189%3B189m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B0%3B0%3B0m%E2%96%84%1B%5B38%3B2%3B0%3B0%3B0m%E2%96%84%1B%5B38%3B2%3B0%3B0%3B0m%1B%5B48%3B2%3B99%3B132%3B173m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B0%3B0%3B0m%E2%96%84+++%1B%5B38%3B2%3B0%3B0%3B0m%E2%96%84%1B%5B38%3B2%3B0%3B0%3B0m%1B%5B48%3B2%3B255%3B255%3B255m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B0%3B0%3B0m%E2%96%84%1B%5B38%3B2%3B0%3B0%3B0m%1B%5B48%3B2%3B255%3B255%3B255m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B255%3B255%3B255m%1B%5B48%3B2%3B255%3B255%3B255m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B255%3B255%3B255m%1B%5B48%3B2%3B65%3B65%3B65m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B0%3B0%3B0m%1B%5B48%3B2%3B65%3B65%3B65m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B0%3B0%3B0m%E2%96%84%1B%5B38%3B2%3B0%3B0%3B0m%E2%96%84%0D%0A%1B%5B38%3B2%3B0%3B0%3B0m%1B%5B48%3B2%3B0%3B0%3B0m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B99%3B132%3B173m%1B%5B48%3B2%3B90%3B99%3B123m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B99%3B132%3B173m%1B%5B48%3B2%3B99%3B132%3B173m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B99%3B132%3B173m%1B%5B48%3B2%3B65%3B65%3B65m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B65%3B65%3B65m%1B%5B48%3B2%3B255%3B255%3B255m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B255%3B255%3B255m%1B%5B48%3B2%3B99%3B132%3B173m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B189%3B189%3B189m%1B%5B48%3B2%3B99%3B132%3B173m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B255%3B255%3B255m%1B%5B48%3B2%3B99%3B132%3B173m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B255%3B255%3B255m%1B%5B48%3B2%3B255%3B255%3B255m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B255%3B255%3B255m%1B%5B48%3B2%3B255%3B255%3B255m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B255%3B255%3B255m%1B%5B48%3B2%3B255%3B255%3B255m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B65%3B65%3B65m%1B%5B48%3B2%3B65%3B65%3B65m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B99%3B132%3B173m%1B%5B48%3B2%3B99%3B132%3B173m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B90%3B99%3B123m%1B%5B48%3B2%3B99%3B132%3B173m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B0%3B0%3B0m%1B%5B48%3B2%3B0%3B0%3B0m%E2%96%80%1B%5B0m+%1B%5B38%3B2%3B0%3B0%3B0m%E2%96%84%1B%5B38%3B2%3B0%3B0%3B0m%1B%5B48%3B2%3B255%3B255%3B255m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B255%3B255%3B255m%1B%5B48%3B2%3B255%3B255%3B255m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B189%3B189%3B189m%1B%5B48%3B2%3B255%3B255%3B255m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B255%3B255%3B255m%1B%5B48%3B2%3B255%3B255%3B255m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B255%3B255%3B255m%1B%5B48%3B2%3B132%3B132%3B132m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B132%3B132%3B132m%1B%5B48%3B2%3B255%3B255%3B255m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B189%3B189%3B189m%1B%5B48%3B2%3B255%3B255%3B255m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B255%3B255%3B255m%1B%5B48%3B2%3B0%3B0%3B0m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B0%3B0%3B0m%E2%96%80&newwindow=1&sca_esv=0fc7dd398656b67a&biw=2519&bih=1218&sxsrf=AHTn8zrYB8iVn-PuK5p4PazbOlDmwyh7KQ%3A1739371785317&ei=CbWsZ_H3Esjo1e8P25fugAY&ved=0ahUKEwixoJXrsL6LAxVIdPUHHduLG2A4HhDh1QMIEg&uact=5&oq=%5B38%3B2%3B0%3B0%3B0m%E2%96%84%1B%5B38%3B2%3B0%3B0%3B0m%1B%5B48%3B2%3B99%3B132%3B173m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B0%3B0%3B0m%E2%96%84++++++++++++++++++++%0D%0A++%1B%5B38%3B2%3B0%3B0%3B0m%E2%96%84%1B%5B38%3B2%3B0%3B0%3B0m%1B%5B48%3B2%3B99%3B132%3B173m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B99%3B132%3B173m%1B%5B48%3B2%3B99%3B132%3B173m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B0%3B0%3B0m%1B%5B48%3B2%3B0%3B0%3B0m%E2%96%80%1B%5B0m+++++++++++++++%1B%5B38%3B2%3B0%3B0%3B0m%E2%96%84%1B%5B38%3B2%3B0%3B0%3B0m%1B%5B48%3B2%3B255%3B255%3B255m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B0%3B0%3B0m%1B%5B48%3B2%3B0%3B0%3B0m%E2%96%80%1B%5B0m++%0D%0A+%1B%5B38%3B2%3B0%3B0%3B0m%1B%5B48%3B2%3B0%3B0%3B0m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B99%3B132%3B173m%1B%5B48%3B2%3B99%3B132%3B173m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B99%3B132%3B173m%1B%5B48%3B2%3B99%3B132%3B173m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B99%3B132%3B173m%1B%5B48%3B2%3B65%3B65%3B65m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B0%3B0%3B0m%1B%5B48%3B2%3B65%3B65%3B65m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B0%3B0%3B0m%1B%5B48%3B2%3B255%3B255%3B255m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B0%3B0%3B0m%1B%5B48%3B2%3B255%3B255%3B255m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B0%3B0%3B0m%1B%5B48%3B2%3B255%3B255%3B255m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B0%3B0%3B0m%1B%5B48%3B2%3B189%3B189%3B189m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B0%3B0%3B0m%E2%96%84%1B%5B38%3B2%3B0%3B0%3B0m%E2%96%84%1B%5B38%3B2%3B0%3B0%3B0m%1B%5B48%3B2%3B99%3B132%3B173m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B0%3B0%3B0m%E2%96%84+++%1B%5B38%3B2%3B0%3B0%3B0m%E2%96%84%1B%5B38%3B2%3B0%3B0%3B0m%1B%5B48%3B2%3B255%3B255%3B255m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B0%3B0%3B0m%E2%96%84%1B%5B38%3B2%3B0%3B0%3B0m%1B%5B48%3B2%3B255%3B255%3B255m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B255%3B255%3B255m%1B%5B48%3B2%3B255%3B255%3B255m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B255%3B255%3B255m%1B%5B48%3B2%3B65%3B65%3B65m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B0%3B0%3B0m%1B%5B48%3B2%3B65%3B65%3B65m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B0%3B0%3B0m%E2%96%84%1B%5B38%3B2%3B0%3B0%3B0m%E2%96%84%0D%0A%1B%5B38%3B2%3B0%3B0%3B0m%1B%5B48%3B2%3B0%3B0%3B0m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B99%3B132%3B173m%1B%5B48%3B2%3B90%3B99%3B123m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B99%3B132%3B173m%1B%5B48%3B2%3B99%3B132%3B173m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B99%3B132%3B173m%1B%5B48%3B2%3B65%3B65%3B65m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B65%3B65%3B65m%1B%5B48%3B2%3B255%3B255%3B255m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B255%3B255%3B255m%1B%5B48%3B2%3B99%3B132%3B173m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B189%3B189%3B189m%1B%5B48%3B2%3B99%3B132%3B173m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B255%3B255%3B255m%1B%5B48%3B2%3B99%3B132%3B173m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B255%3B255%3B255m%1B%5B48%3B2%3B255%3B255%3B255m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B255%3B255%3B255m%1B%5B48%3B2%3B255%3B255%3B255m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B255%3B255%3B255m%1B%5B48%3B2%3B255%3B255%3B255m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B65%3B65%3B65m%1B%5B48%3B2%3B65%3B65%3B65m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B99%3B132%3B173m%1B%5B48%3B2%3B99%3B132%3B173m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B90%3B99%3B123m%1B%5B48%3B2%3B99%3B132%3B173m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B0%3B0%3B0m%1B%5B48%3B2%3B0%3B0%3B0m%E2%96%80%1B%5B0m+%1B%5B38%3B2%3B0%3B0%3B0m%E2%96%84%1B%5B38%3B2%3B0%3B0%3B0m%1B%5B48%3B2%3B255%3B255%3B255m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B255%3B255%3B255m%1B%5B48%3B2%3B255%3B255%3B255m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B189%3B189%3B189m%1B%5B48%3B2%3B255%3B255%3B255m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B255%3B255%3B255m%1B%5B48%3B2%3B255%3B255%3B255m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B255%3B255%3B255m%1B%5B48%3B2%3B132%3B132%3B132m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B132%3B132%3B132m%1B%5B48%3B2%3B255%3B255%3B255m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B189%3B189%3B189m%1B%5B48%3B2%3B255%3B255%3B255m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B255%3B255%3B255m%1B%5B48%3B2%3B0%3B0%3B0m%E2%96%80%1B%5B0m%1B%5B38%3B2%3B0%3B0%3B0m%E2%96%80&gs_lp=Egxnd3Mtd2l6LXNlcnAi-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&sclient=gws-wiz-serp

nice,总算是给了点提示,ansi color,或者 ansi 。继续搜索图片转 ansi,最后终于找到了一个在线工具:

https://dom111.github.io/image-to-ansi/

那么有了这个东西,就可以将图片转化为宝可梦类似的字符串了。

下面会给出对应的 sh 脚本代码,测试效果可以直接扔到终端去测试。

图片转化解决了,剩下的就是怎么写配置文件。搜索的时候发现了这么一篇文章,同样里面给出了上面的配置文件脚本的合集:

https://www.sqlsec.com/2024/09/ubuntu.html#

参考文章给的:https://github.com/sqlsec/fastfetch里面的配置文件,编写自己的配置文件。

将上面图片转 ansi 给出的 sh 脚本保存为 sh 文件,修改配置文件的 图片为下面的内容:

"modules": [
        {
            "type": "command",
            "text": "sh $HOME/.config/fastfetch/sh/logo-80.sh",
            "key": "\n"
        },

上面的代码没有在 logo 字段内设置,目前还没发现怎么在 logo 中执行命令,如果直接将生成的字符串贴到 logo 内会报错。

通过下面的命令验证配置文件,主要文件路径要复制到用户目录下的.config/fastfetch/中。

这个是基于 zsh 的,当然如果是 iterm 那么效果就更加惊艳了。如下面:

远程 ssh 效果:

为了简化上面的操作,于是我创建了一个开源项目,如果需要可以直接拉取代码针对性修改即可。

下面正文开始啦:

1.安装 fastfetch,具体安装方法,参考https://github.com/fastfetch-cli/fastfetch

Linux

 

Some distros package an outdated fastfetch version. Older versions receive no support, so please try always to use the latest version.

Packaging status

  • Ubuntu: ppa:zhangsongcui3371/fastfetch (for Ubuntu 22.04 or newer)
  • Debian: apt install fastfetch (for Debian 13 or newer)
  • Debian / Ubuntu: Download fastfetch-linux-<proper architecture>.deb from Github release page and double-click it (for Ubuntu 20.04 or newer and Debian 11 or newer).
  • Arch Linux: pacman -S fastfetch
  • Fedora: dnf install fastfetch
  • Gentoo: emerge --ask app-misc/fastfetch
  • Alpine: apk add --upgrade fastfetch
  • NixOS: nix-shell -p fastfetch
  • openSUSE: zypper install fastfetch
  • ALT Linux: apt-get install fastfetch
  • Exherbo: cave resolve --execute app-misc/fastfetch
  • Solus: eopkg install fastfetch
  • Slackware: sbopkg -i fastfetch
  • Void Linux: xbps-install fastfetch
  • Venom Linux: scratch install fastfetch

You may need sudodoas or sup to run these commands.

If fastfetch is not packaged for your distro or an outdated version is packaged, linuxbrew is a good alternative: brew install fastfetch

macOS

 

Windows

 

  • scoopscoop install fastfetch
  • Chocolateychoco install fastfetch
  • wingetwinget install fastfetch
  • MSYS2 MinGWpacman -S mingw-w64-<subsystem>-<arch>-fastfetch

You may also download the program directly from the GitHub releases page in the form of an archive file.

FreeBSD

 

  • pkg install fastfetch

Android (Termux)

 

  • pkg install fastfetch

2.拉取项目代码:git clone https://gitee.com/obaby/baby-fetch

将项目目录下的 fastfetch 复制到用户目录下的.config 目录下

cp -rf fastfetch ~/.config/

增加一键部署脚本,下载后直接执行 deploy.sh 即可,支持 bash, zsh 终端!后续步骤可以省略了!!!

增加一键部署脚本,下载后直接执行 deploy.sh 即可,支持 bash, zsh 终端!后续步骤可以省略了!!!

增加一键部署脚本,下载后直接执行 deploy.sh 即可,支持 bash, zsh 终端!后续步骤可以省略了!!!

直接修改 welcome.sh 修改加载配置文件皆可!

直接修改 welcome.sh 修改加载配置文件皆可!

直接修改 welcome.sh 修改加载配置文件皆可!

(venv) zhongling@ZhongLingdeMBP baby_fetch % /bin/bash /Users/zhongling/PycharmProjects/baby_fetch/deploy.sh
===========================================================================
Baby fetch自动部署工具
obaby@mar
https://h4ck.org.cn
https://oba.by
https://nai.dog
===========================================================================
Start deploy:
copy files......
*************************************
Write config to terminal profile:
process .bash_profile
already exists, skip
-------------------------------------
process .zshrc
already exists, skip
-------------------------------------
process .profile
already exists, skip
All done, have a nice day
===========================================================================

 

红字部分于2015.01.13 17.25 更新!

3.修改终端配置文件,在修改之前需要确定当前运行的终端是什么 bash,zsh 或者是其他的什么东西。

例如,我这里的终端是 zsh,运行 fastfetch 查看 shell 字段:

vim ~/.zshrc

添加以下代码:

if [ -f ~/.config/fastfetch/welcome.sh ]; then
    ~/.config/fastfetch/welcome.sh
fi

如果是 bash :

vim ~/.bash_profile

同理其他的终端修改对应的位置文件,执行 source ~/.zshrc加载配置文件,如果无误应该就可以看到效果了。

目前针对 macos welcome.sh 会针对是否运行在 iterm 内加载不同的配置文件:

#!/bin/bash
if [ "$TERM_PROGRAM" = "iTerm.app" ]; then
#    echo "当前运行在 iTerm 中"
     fastfetch -c ~/.config/fastfetch/config-obaby-mac-iterm-weding.jsonc
else
#    echo "当前没有运行在 iTerm 中"
    fastfetch -c ~/.config/fastfetch/config-obaby-logo-80.jsonc
fi

同样定制化加载的文件也可以通过修改 welcome.sh实现,或者直接修改这个文件加载的配置文件实现。

为了更好的体验效果,在 mac 下建议安装 iterm,linux 下建议安装kitty。

iterm 建议通过 homebrew 安装:

brew install iterm2

https://iterm2.com

https://sw.kovidgoyal.net/kitty/binary/

4.显示问题,如果显示有乱码建议安装包含自带字体图标的字体,可以通过这里下载:https://www.nerdfonts.com/font-downloads

项目中已经包含了两个字体压缩包,可以直接安装使用。

同样,针对 ssh 的欢迎语也可以通过修改终端配置文件实现,这么改的好处是,针对不同用户可以用户自己定义。并且不需要修改 sshd配置文件,无需重启服务。

测试环境:

Mac:

 CPU Apple M1
󰋵 GPU Apple Apple M1 Ghz
󰀚 Memory 13.46 GiB / 16.00 GiB (84%)
󰘳 Shell zsh v5.9
󰀚 Disk 200.69 GiB / 228.27 GiB (88%) – apfs [Read-only]
󰀚 Disk 5.06 MiB / 5.06 MiB (100%) – hfs [External, Read-only]
󰀚 Disk 766.07 MiB / 934.23 MiB (82%) – apfs [External, Read-only]
󰘳 Network en0 192.168.8.100/24
󱦟 OS Age 20132 days
󱫐 Uptime 41 days, 23 hours, 57 mins
 Machine MacBook Pro (13-inch, M1, 2020) (Apple Inc.)

Ubuntu:

󰀶 OSUbuntu 22.04.4 LTS x86_64
󱢌 Bios449e491 (0.0)
 KernelLinux 5.15.0-92-generic
󰏗 Packages1190 (dpkg), 3 (snap)
󰹑 Display1024x768 @ 60 Hz
 Terminalsshd

● ● ● ● ● ● ● ●

 CPUIntel(R) Xeon(R) Platinum
󰋵 GPUCirrus Logic GD 5446 Ghz
󰀚 Memory1.00 GiB / 1.65 GiB (61%)
󰘳 Shellbash v5.1.16
󰀚 Disk27.71 GiB / 39.01 GiB (71%) – ext4
󰘳 Networketh0 172.23.120.93/20
󱦟 OS Age 380 days
󱫐 Uptime 89 days, 20 hours, 50 mins
 MachineAlibaba Cloud ECS (Alibaba Cloud)

项目地址:

https://gitee.com/obaby/baby-fetch

https://github.com/obaby/baby-fetch

参考链接:

https://github.com/sqlsec/fastfetch

https://www.sqlsec.com/2024/09/ubuntu.html#%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B

https://talyian.github.io/ansicolors/

https://gitlab.com/phoneybadger/pokemon-colorscripts

 

2024年推荐7款免费好用的国内外服务器传输工具

2024年11月14日 16:08

很多小伙伴都购买了服务器并且需要在服务器之间进行文件传输。无论是在国内还是跨国界,选择一款高效、安全的服务器传输工具至关重要。

将文件从本地传输到服务器主要使用的是 ftp、sftp 2种协议,下面并对其进行了知识讲解并且推荐几款国内外广泛使用的服务器传输工具,它们各有特点,能够满足不同用户的需求。

国内外服务器传输工具推荐
国内外服务器传输工具推荐

FTP、SFTP 知识科普

1、什么是SFTP?

SFTP,也被称为安全文件传输协议(SSH File Transfer Protocol),属于文件传输协议(FTP)的安全版本,也是SSH协议的一部分,可通过安全 SHELL(SSH) 数据流轻松进行数据传输和数据访问。它提供了一个安全的连接来传输文件,并在本地和远程系统上遍历文件系统。SFTP 中的加密是通过 SSH 连接来完成的,文件可以通过 WinSCP 和 SFTP 客户端进行传输。

2、FTP与SFTP的区别?

  • FTP 不提供在主机之间传输文件的安全通道,而 SFTP 提供了在主机之间传输文件的安全通道
  • FTP 代表“文件传输协议”,而 SFTP 代表“SSH文件传输协议”
  • FTP 使用 2 个通道传输数据,而 SFTP 使用 1 个通道传输数据
  • FTP 允许端口 21 上的入站连接,而 SFTP 允许端口 22 上的入站连接
  • FTP 不提供加密,而 SFTP 提供用于发送数据的加密
  • FTP 使用客户端-服务器体系结构,而 SFTP 使用 SSH 体系结构
  • FTP 具有直接传输方法,而 SFTP 具有隧道传输方法

FTP与SFTP之间的区别
FTP与SFTP之间的区别

3、相对于FTP,SFTP的优点

  • 在FTP的基础上对数据进行加密,使得传输的数据相对来说更安全连接始终安全

  • 可以通过双向的加密通道重定向不通知的TCP/IP端口

  • SFTP协议在安全通道上运行,因此不会传输明文密码或文件数据

系统工具:scp/rsync/sftp

在Linux环境下,scprsyncsftp 是广泛使用的文件传输工具。scp是基于SSH协议的安全复制工具,适用于快速传输单个文件或整个目录。rsync是增量同步工具,特别适用于大文件和频繁更新的数据备份。sftp是基于SSH的交互式文件传输协议,适用于需要文件管理的场景 。

在大多数 Linux 发行版中,scp、rsync 和 sftp 已经默认安装。如果需要手动安装,可根据系统使用以下命令:

# Ubuntu/Debian
sudo apt update
sudo apt install openssh-client rsync

# CentOS/RHEL
sudo yum install openssh-clients rsync

安装 openssh-client 将自动包含 scp 和 sftp,而 rsync 需单独安装。

SCP(Secure Copy Protocol)

SCP 是基于SSH协议的文件传输工具,它简单易用,适合快速传输单个文件或目录。SCP通过SSH端口22进行数据传输,确保了数据的安全性。它不需要额外的配置,但不支持文件夹同步功能 。

SFTP(Secure File Transfer Protocol)

SFTP 同样基于SSH协议,提供了一个安全的文件传输环境。它支持文件夹同步和文件预览功能,适用于需要文件管理的场景。SFTP通过SSH端口22进行数据传输,与SCP相比,它提供了更丰富的文件操作功能 。

RSYNC

RSYNC 是一个强大的文件同步工具,特别适用于大文件和频繁更新的数据备份。它通过 SSH 或专用的 rsync 端口 873 进行数据传输,只同步发生变化的文件,从而节省带宽和时间。RSYNC 的增量备份功能使其成为数据同步的理想选择 。

MobaXterm

MobaXterm 是一个多功能的SSH终端客户端,支持 Windows 和 Unix/Linux 系统。它提供了多标签页、文件管理器、远程桌面、SFTP 和 FTP客户端等功能。MobaXterm 的界面相对复杂,适合有一定经验的用户 。

Termius

Termius 是一个跨平台的SSH客户端,支持 Windows、Mac、iOS 和 Android 系统。它提供了简洁、美观的界面和文件传输功能。Termius 支持端口转发、隧道、远程执行等高级功能,但某些功能需要付费使用 。

OpenSSH

OpenSSH手册页) 是一个开源的SSH协议实现,广泛用于服务器之间的安全通信。它支持SCP和SFTP协议,提供了数据压缩和多种认证方法。OpenSSH是免费的,适用于所有用途,包括商业用途 。

OpenSSH 套件由以下工具组成:

  • 支持系统:Linux、MacOS、Windows下载地址安装教程
  • 远程操作使用 ssh、 scp和 sftp 完成 。
  • 使用 ssh-add、 ssh-keysign、 ssh-keyscan和 ssh-keygen 进行密钥管理 。
  • 服务端由 sshd、 sftp-server和 ssh-agent 组成 。
  • 它提供了代理转发、互操作性、端口转发和强认证等功能。

OpenSSH 由OpenBSD 项目 的少数开发人员开发 ,并根据 BSD 风格的许可提供。

下载地址:OpenSSH Portable Release

WinSCP

WinSCP 是一款专为Windows用户设计的图形界面FTP/SFTP客户端,支持SCP和WebDAV等协议。它提供多种文件传输模式,确保文件传输的正确性,并支持任务自动化和脚本编写,方便批量文件传输和自动化管理。WinSCP还支持AES-256加密,确保文件传输的安全性 。

  • 支持系统:Winodws
  • WinSCP 提供一个图形用户界面和一个集成的文本编辑器。
  • 它具有对文件进行所有常见操作的功能。
  • 它具有脚本和任务自动化的功能。
  • 它支持传输队列/后台传输或传输恢复。
  • 它将让你使用AES-256加密法对文件进行加密。

Dropbear SCP

Dropbear SSH 是一个较小的 SSH 客户端和服务器。 它可以在不同的基于 POSIX 的平台上工作。 这个开源的平台可以用于嵌入式类型的Linux系统,如无线路由器。

  • 支持系统:Linux、MacOS、FreeBSD, NetBSD and OpenBSD、Solaris – tested v8 x86 and v9 Sparc、IRIX 6.5 (with /dev/urandom, or prngd should work)、Tru64 5.1 (using prngd for entropy)、AIX 4.3.3 (with gcc and Linux Affinity Toolkit), AIX 5.2 (with /dev/urandom)、HPUX 11.00 (+prngd), TCP forwarding doesn't work、Cygwin – tested 1.5.19 on Windows XP
  • Dropbear SCP支持X11转发和OpenSSH客户端的认证代理转发。
  • 它有能力从inetd或独立运行。
  • Dropbear SCP与OpenSSH~/.ssh/authorized_keys公钥认证兼容。
  • 它将允许你在编译时禁用一些功能以节省空间。

下载地址

Cyberduck

CyberduckGithub开源地址) 是一款跨平台的FTP/SFTP客户端,支持 Mac、Windows 和 Linux。它支持FTP、SFTP、WebDAV、Amazon S3等多种协议,并提供多语言界面和多种主题。Cyberduck还支持文件夹同步和文件预览功能,方便用户进行文件管理和浏览。

  • 支持系统:MacOS、Windows、Linux

FileZilla

FileZilla 是一款开源的 FTP 客户端,适用于多种操作系统。它支持FTP、SFTP和FTPS协议,并提供断点续传和批量下载功能。FileZilla还提供了日志记录和站点管理器功能,方便用户进行文件传输任务的管理和监控。

  • 支持系统:MacOS、Windows、Linux

总结

Windows 推荐:MobaXterm、FileZilla、WinSCP

MacOS 推荐:Termius

相关链接

23款好用的SSH客户端工具推荐

差点…废了

2024年8月29日 00:35

................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

这次只有一个问题——OpenSSH < 9.8 RCE.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

还好今天这个问题解决很简单,只需要升级openssh到最新版本就可以了。

奈何我强迫症啊,升级控啊,手贱啊!差点把服务器干废了,ssh都连不上了,导致今晚网站服务挂了三个多小时。openssh和openssl是相关联的,看到openssl都到了3.3.0版本了,我就忍不住想升级。不出意外的意外出现了,“/lib/x86_64-linux-gnu/libcrypto.so.3 not found”,于是乎我直接从openssl安装包里复制一个出来“cp libcrypto.so.3 /lib/x86_64-linux-gnu/libcrypto.so.3”,就从这开始问题一波接一波,接着我又试图卸载“libssl-dev,libssl3”,不卸载还好,卸完更糟糕了,系统都出问题了。apt安装出现“dpkg returned an error code”的问题。此时脑瓜子嗡嗡的,都有重装系统的想法了,想想重装系统加配置环境可能一晚上不睡觉都解决不完,还好没有放弃,最后还是找到解决方法(详细可以见此贴)。

20240828231520 scaled.jpg
这么多屏幕看哪个好?

皇天不负有心人啊!然后再反操作一番,把刚才卸载的东西又给装回去了,嘿嘿,又好了!不折腾了,不敢折腾了,openssl暂时不升级了。即使折腾也得先在虚拟机里试一试,没问题才能在生产环境里应用。后面我想尽快搞定用系统apt的方式搭建环境,apt速度很快,就是配置麻烦了一些,这方面可以参考lnmp和宝塔。然后把我的笔记本用起来,作为备用环境,如果小主机环境干废了,可以迅速转移到笔记本上。

That's All!不知不觉又熬夜了,嗯,赶紧睡了。

版权声明: 本文采用 BY-NC-SA 协议进行授权,如无注明均为原创,转载请注明转自 皇家元林
本文链接: 差点…废了

测试新的Linux发行版

2024年7月2日 05:00
CentOS使用了这么多年,现在该是说拜拜的时候了,官方都不更新了,再使用下去也是有点风险的。虽然有时候懒的折腾这些东西,过时的东西还是要淘汰的。7月1号又新出了一个SSH漏洞,换系统是势在必行。 目前看了两个不错的Linux发行版 RockyLinux 和 AlmaLinux RockyLinux: https://rockylinux.org/ AlmaLinux: https://almalinux.org/ RockyLinux:由 CentOS 的创始人 Gregory Kurtzer 发起,旨在填补 CentOS 留下的空白。作为一个社区企业操作系统,Rocky Linux 承诺提 […]
❌
❌