得之我幸 失之我命

when someone abandons you,it is him that gets loss because he lost someone who truly loves him but you just lost one who doesn’t love you.

前因

这是一次问题定位的记录,虽然最后问题解决了,却没有定位到最根本的原因,记录它只是为了可以为后续发现同类问题的时候提供能多的思路

问题表现:服务器上配置了 ssh authorized_keys,但是登录时却还是被要求输入密码

Read More...


auth.log 不存在

事出突然

牵一发而动全身,在查 ssh 为啥无法公私钥认证登陆的图中,找到了开启 sshd_config DEBUG 模式,将认证过程的 log 记录在 auth.log 中

为了方便,我直接删除了 auth.log,想着它应该是会被重新生成的,结果意料之中的意料之外,它没有自己生成

那我就想着自己创建一个总行了吧,结果还是没有收集到任何的 debug 信息

Read More...


公钥登陆的两个步骤更新于 2023.01.25

自从换了工作以来,就离不开与 ssh 打交道,为了登陆方便,公私钥更加是避免不了,总有一天得好奇 ssh 通过公私钥认证登陆的原理,择日不如撞日,趁机把这部分内容找了点资料看了下,记录一下

准备工作:Client 端将自己的公钥手动追加在 Server 端的 authorized_keys 中

Read More...


multiplexing 和独立会话的区别是,在服务器和客户端,都只看到一个进程(即使多次连接会话)

在服务器和客户机上,可以看到只打开了一个 TCP 连接,OpenSSH 使用现有的 TCP 连接实现多个 SSH 会话,降低新建 TCP 连接的负载

那么如何做到让 SSH 复用连接呢

Read More...


标题中的 git 是一个动词,标题的意思是可以在任意路径下,对想操作的 git 库文件夹操作

问题:假设有一天,需要在 ~ 目录下对 /mnt/test 进行 git 操作,无论是需要 pull 还是 push,又或者是其他的什么操作

看到这个问题,想当然的大概就会选择 cd 过去,那么如果在不能 cd 的情况下,要怎么办?

这或许不是个值得思考的问题,但是 git 的作者也给出了对应的答案,那就是 git 的两个选项 git-dir 和 work-tree

Read More...


sed 与替换

只是介绍一下 sed 用作文本替换时的常见做法

sed(stream editor) 的基本工作方式:

  1. 将文件以为单位读取到内存(模式空间)
  2. 使用 sed 的每个脚本对该行进行操作
  3. 处理完成后输出该行

Read More...


set 了 uexo

bash 写多了,就不得不调试,然鹅又不像 python 一样有精彩的第三方库可以提供丰富的调试信息

多看点 bash 脚本,都应该见过下面这句话,那它是什么意思呢?

1
2
3
4
5
6
set -uexo pipefail
# 等同于
set -u
set -e
set -x
set -o pipefail

Read More...


the only present love demands is love