Home avatar

Lixp 的 Blog

ssh-agent配置使用

ssh-agent 是一个密钥管理器, 在一些有密码的密钥使用时, 为了避免每次都需要输入密码, 可以将解密后的密钥存入 ssh-agent 中, 这样只有在开机第一次启动时需要输入密码, 后面解密后的密钥都在内存中, 可以方便使用.

Linux桌面内存优化

zswap 是 ram 和 swap 的缓冲层, 当系统向 swap 写入数据时, zswap 会先压缩数据放到内存, 如果内存压缩满足一个阈值, 才会真正往 swap 写入数据; zram 是将内存的一部分配置为 swap, 系统向 swap 写入时就会向 zram 配置的内存段用 zstd 压缩后写入, 相当于扩展了一部分内存.

DoomEmacs安装

首先执行命令:

git clone --depth 1 https://github.com/doomemacs/doomemacs ~/.config/emacs
~/.config/emacs/bin/doom install

之后可以运行 之后可以运行以下命令来检查系统缺少二进制依赖:

Linux蓝牙连接

使用 bluetoothctl 进入蓝牙交互界面

  • scan on / scan off 开始和停止扫描
  • pair XX:XX:XX:XX:XX:XX 发起配对, 如果设备有确认码, 终端会提示你输入 yes 来确认
  • trust XX:XX:XX:XX:XX:XX 信任设备, 下次断开后自动连接
  • connect XX:XX:XX:XX:XX:XX 建立连接
  • disconnect XX:XX:XX:XX:XX:XX 断开当前连接,但保留配对信息
  • remove XX:XX:XX:XX:XX:XX 删除配对信息

执行命令:

Linux创建普通用户并禁止密码登录

#!/bin/bash

# 检查是否以 root 权限运行
if [[ $EUID -ne 0 ]]; then
   echo "请使用 root 权限运行此脚本 (sudo ./script.sh)"
   exit 1
fi

# --- 配置变量 ---
read -p "请输入要创建的用户名: " USERNAME
read -s -p "请输入该用户的密码: " PASSWORD
echo
read -p "请粘贴该用户的 SSH Public Key (以 ssh-rsa 开头): " SSH_KEY


# 1. 创建用户并设置密码
if id "$USERNAME" &>/dev/null; then
    echo "用户 $USERNAME 已存在,跳过创建。"
else
    useradd -m -s /bin/bash "$USERNAME"
    echo "$USERNAME:$PASSWORD" | chpasswd
    echo "用户 $USERNAME 创建成功。"
fi

# 2. 配置 sudo 权限
echo "$USERNAME ALL=(ALL) ALL" > "/etc/sudoers.d/$USERNAME"
chmod 440 "/etc/sudoers.d/$USERNAME"

# 3. 配置 SSH 密钥
USER_HOME=$(eval echo ~$USERNAME)
mkdir -p "$USER_HOME/.ssh"
echo "$SSH_KEY" > "$USER_HOME/.ssh/authorized_keys"
chown -R "$USERNAME:$USERNAME" "$USER_HOME/.ssh"
chmod 700 "$USER_HOME/.ssh"
chmod 600 "$USER_HOME/.ssh/authorized_keys"

# 4. 修改 SSH 服务配置以禁用密码登录 (仅针对该用户或全局)
# 注意:这里我们通过 Match 指令实现对该特定用户强制使用 Key 登录
# 如果你想全局禁用密码登录,请告知我。
SSH_CONF="/etc/ssh/sshd_config"

if ! grep -q "Match User $USERNAME" "$SSH_CONF"; then
    cat <<EOF >> "$SSH_CONF"

# 强制 $USERNAME 用户只能通过 Key 登录
Match User $USERNAME
    PasswordAuthentication no
    AuthenticationMethods publickey
EOF
    echo "SSH 配置已更新:用户 $USERNAME 只能通过密钥登录。"
else
    echo "SSH 配置中已存在该用户的限制规则。"
fi

# 重启 SSH 服务使配置生效
systemctl daemon-reload
systemctl restart ssh.socket || systemctl restart ssh

echo "-----------------------------------"
echo "设置完成!"
echo "用户: $USERNAME"
echo "权限: 已加入 sudoers"
echo "验证方式: 仅限 SSH Key (密码登录已被禁用)"
echo "-----------------------------------"