奔向命令行

大家第一次使用命令行或见到终端是什么时候呢?大多是第一次编写 C 语言程序吧。

我是小学用 bat 文件开 Minecraft 服务器时接触的,当时就想这个界面可真丑,黑咕隆咚的——现在不一样了,尽情美化喵。

终端是那个展示 shell 的窗口,而 shell 的话,Windows 有 cmdPowerShellWindows PowerShell,macOS、Linux 有 bash,Android 可以使用 Termux,也相当于是 Linux 了——有关 Termux 的配置详见 Termux 高级终端安装使用配置教程

macOS 和 Linux 的关系更近,总之都能使用 zsh 而不是 bash 作为 shell,有关 zsh 的配置参见 这篇文章

zsh 相比 bash 能提供命令行历史补全的功能,在 Windows 上,这需要下载 PowerToys 并启用里面的 未找到命令 功能——看起来命令行补全是 PowerShell 的功能,但总之这样配置之后就没问题。

在 macOS 上,自带的终端并没有那么“好看”,总之转用了 iTerm2,相关的配置略。

奔向 SSH

在购入了 Mac mini 后,除了写 SwiftUI 外,也想用 Mac mini 做些别的什么——我是用不来 macOS,操作逻辑相比 Windows 总是有太多别扭的地方,我是应该还会把 Windows 作为主要的开发环境的。

于是看视频,了解到 Mac mini 可以作为软路由、NAS、服务器……诶,服务器。

正好最近在玩 Minecraft,而 Mac mini 完全适合 Minecraft 开服——其实就是我想试试看,总之能分担一下我这台 Windows 笔记本的压力吧,让 Mac mini 专心逻辑处理,Windows 笔记本专心渲染。

这就牵扯到远程操作了——这其实不算“远程”,只在内网操作嘛,但——我曾经发病莫名其妙的购买阿里云的服务器,完全不了解自己为什么要用、该怎么去用服务器,总之我确实对 SSH 连接这一步有印象。

具体开启 SSH 的流程就不在此赘述了,现在再来谈个别的事。

SSH 支持免密登录,总之使用 GPG 的非对称加密——我其实对椭圆曲线的数学性质特别感兴趣,但目前找到的一些资料都是用到了抽象代数的方法的那种,没有传统解析几何的那种解释。

加密:公钥加密,私钥解密
公钥公开,任何公钥持有者都可以将想要发送给私钥持有者的信息进行加密后发送,这个信息只有私钥持有者能解密。

签名:私钥加密,公钥解密
公钥公开,任何持有公钥的人都能解密私钥加密过的密文,这个过程并不能保证消息的安全性,但是它却能保证消息来源的准确性和不可否认性,也就是说,如果使用公钥能正常解密某一个密文,那么就能证明这段密文一定是由私钥持有者发布的,而不是其他第三方发布的,并且私钥持有者不能否认他曾经发布过该消息。

SSH 连接 Windows 默认启用 PowerShell

WSL 默认目录