改造windows terminal支持lrzsz
在 windows 下使用 xshell,如果执行 rz 或者 sz 是可以快捷上传/下载文件到本地的,这在使用堡垒机登录服务器会很有用,或者多层 ssh 嵌套的时候,某种极端的场景下,这可能是唯一的解决方案了。在 windows 下使用 xshell 连接服务器,这时候输入 rz,会弹出一个文件选择框: 但是在 windows terminal 下,是这样的: 无意中发现了一个开源工具,可以解决这个问题,开源地址是:https://github.com/qingyunha/zssh 安装通过源码安装 默认可执行文件是在 GOBIN 中, 需要放到系统的 PATH 目录中。 二进制安装 使用方法: 使用 zssh 替代 ssh 命令即可。 效果如下: 另外还有 trzsz 这样的类似开源工具,需要服务器上安装 trzsz 软件
jenkins优雅的增加一个windows节点
配置 windows这里我选择使用 ssh 来连接 windows,这样可以完全由 jenkins 来管理 windows 节点,比如 agent 的启动与停止、agent 的更新等都不需要登录 windows 来操作了。 安装 openssh server这里选择 moba ssh server, 下载地址:https://mobassh.mobatek.net/download.html moba ssh server 基于 cygwin 和原生 windows 有差别,特殊情况下执行结果不一致,我放弃了,转而使用原生 openssh 服务 GitHub 地址:https://github.com/PowerShell/Win32-OpenSSH/releases 最新版和 jenkins 兼容性有些问题,我用的是 v8.1.0.0p1-Beta 版, 下载 OpenSSH-Win64.zip 解压到 windows 的 C:\Program Files\OpenSSH 目录下,然后执行 (管理员权限运行 powershell) 配置 java 环境jenkins 默认不...
iTerm2配置记录
快捷键macOS 的快捷键图标表示 控制键 说明 ⌘ command ⌃ control ⌥ option ⇧ shift 其中 control 开头的快捷键不止在 iTerm2 中可用,在所有 shell 终端中都是可用的。 标签(tab) 功能 快捷键 备注 新建标签 command + t 关闭标签 command + w 切换标签 command + ← 或 → 可以用 command + 数字键,切换到指定的 tab 上 切换全屏 command + enter 等同于 fn + f, fn + f 在所有 macOS 软件中都可用 分屏 功能 快捷键 备注 垂直分屏 command + d 水平分屏 command + shift + d 切换到不同的分屏 command + option + 上下左右 同时操作所有窗口 command + shift + i 操作打开的所有 tab 和分屏, 功能生效时,右上角有个图标提示 其他 功能 快捷键 备注 快速定位光标 op...
Ingress Nginx 配置ssl双向认证
记录一下在 kuberentes 下使用 ingress-nginx 来配置 ssl 双向认证,可以参考其他几篇文章:使用certbot自动申请ssl证书 使用acme.sh来自动更新https证书 制作和使用自签名证书 Nginx配置SSL双向认证 创建 CA 证书执行以下命令,创建自签的 CA 证书。 生成 server 证书 这里可以使用公共的 CA 签发的证书, 比如各大云服务商购买的证书。下面是自签证书的步骤。 生成 Server 端证书的请求文件 使用根证书签发 Server 端请求文件,生成 Server 端证书 配置到 ingress 里 生成 client 证书生成 Client 端证书的请求文件 双向认证一般都是别人使用自己的 key 生成 csr 给到我们, 然后我们用 CA 签名证书,然后将签名后的证书给到别人,后续别人使用证书和自己的私钥就可以访问服务。 生成 client 端证书执行以下命令,使用根证书签发 Client 端请求文件,生成 Client 端证书。 配置双向认证创建 secret 测试访问
Kubernetes创建一个只读用户
其实用到的是 RBAC 授权,官方文档在:https://kubernetes.io/zh-cn/docs/reference/access-authn-authz/rbac/ 生成证书 通过证书生成 kubeconfig 配置文件 创建 clusterrole 和 clusterrolebinding 测试
使用image-syncer来实现容器镜像同步
image-syncer 是一个 docker 镜像同步工具,可用来进行多对多的镜像仓库同步,支持目前绝大多数主流的 docker 镜像仓库服务 支持多对多镜像仓库同步 支持基于 Docker Registry V2 搭建的 docker 镜像仓库服务 (如 Docker Hub、 Quay、 阿里云镜像服务 ACR、 Harbor 等) 同步只经过内存和网络,不依赖磁盘存储,同步速度快 增量同步, 通过对同步过的镜像 blob 信息落盘,不重复同步已同步的镜像 并发同步,可以通过配置文件调整并发数 自动重试失败的同步任务,可以解决大部分镜像同步中的网络抖动问题 不依赖 docker 以及其他程序 image-syncer 的官方地址是:https://github.com/AliyunContainerService/image-syncer, 是 golang 开发的, 官方没有给打包成 windows 版, 所以 windows 和 mac 用户需要自己编译一下。 编译安装 golang 环境略 开始构建 会在当前目录下生成 main.exe, 重命名为 image-...
shell脚本条件判断与比较运算
if 的基本语法: 文件/目录 判断常用的 运算符 作用 -d 测试文件是否为目录 -e 测试文件是否存在 -f 判断是否为一般文件 -r 测试当前用户是否有权限读取 -w 测试当前用户是否有权限写入 -x 测试当前用户是否有权限执行 -s 文件长度不为零 选项 作用 [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真。 [ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真。 [ -d DIR ] 如果 FILE 存在且是一个目录则为真。 [ -e FILE ] 如果 FILE 存在则为真。 [ -f FILE ] 如果 FILE 存在且是一个普通文件则为真。 [ -g FILE ] 如果 FILE 存在且已经设置了 SGID 则为真。 [ -k FILE ] 如果 FILE 存在且已经设置了粘制位则为真。 [ -p FILE ] 如果 FILE 存在且是一个名字管道 (F 如果 O) 则为真。 [ -r FILE ] 如果 FILE 存在且是可读的则...
利用Nginx的rewrite来实现自动跳转
任意链接都跳转到指定页面 需要部署一个服务在 Kubernetes 内, 需要实现通过 ingress 可以访问到, 本来是很简单的事情, 但是由于访问来源的 location 不确定,为了避免报错 404,所以用 Nginx 的 rewrite 来实现 Nginx 配置如下(所有 location 转发到 index.html): 自动跳转 https配置文件如下: 使用 return 使用 rewriterewrite 性能消耗更大,但是支持更复杂的规则,只是跳转到 https 建议使用 return 301 判断 Header 直接返回内容比如备案、或者各种认证, 证明网站属于自己,通常会给一个 txt 文件让放在网站根目录,其实可以使用这种方法来实现 返回请求者 IP实现一个获取公网 ip 的小工具,类似于 curl ip.sb 可以直接在终端获得公网 ip。
使用Obsidian配合Hexo写博客
obsidian 是一款好用的 markdown 编辑器, 用来记笔记还是不错的。 并且支持插件系统,可以通过模板来生成博客的 frontmatter, 省去了 hexo new 的操作 所以准备配置一下用 obsidian 来写博客。 相关文章:静态博客生成工具hexo使用typora更好更快地写hugo博客使用vscode来写hugo博客并处理图片插入问题 打开仓库首先使用 obsidian 打开 source/_posts 目录, 然后会生成一些配置文件。进入 _posts 目录 创建.gitignore 将一些临时文件排除掉。 配置模板自带的模板插件功能太单一了, 我们关闭安全模式, 安装第三方插件 Templater 创建 Templates 目录,修改配置指定 Template 的目录。修改配置项 Template folder location 为 Templates 然后再此目录下创建 Front-matter.md 文件,此文件用作 hexo 的 frontmatter 模板。 其中: 模板 作用 tp.file.title 获取到的就是文件...
ArchLinux安装记录
官方文档 ArchWiki 已经写的很好了,但是每次安装的时候都要踩坑,所以开个文章记录一下。 磁盘分区与格式化 配置中科大的源配置文档: https://mirrors.ustc.edu.cn/help/archlinux.html 挂载与 chroot 操作chroot 后相当于进入了安装后的系统内进行操作 常用配置配置时区 配置 locale 配置网络这里使用的是 systemd 全家桶 vim /etc/systemd/network/20-wired.network 修改 root 密码 创建普通用户 安装 grub 安装常用工具 完成安装 到此为止,不带图形界面的 ArchLinux 已经安装好了。 ArchInstall基本系统安装, 也可以使用 archinstall, 这个是在虚拟机环境下, 我的安装配置. 图形界面使用i3-wm使用KDE安装 设置 archlinux 为文本模式启动 在 ~/.xinitrc 中添加以下内容运行 i3 配置 ~/.ba...





