手动编译 SSH 客户端 加入自定义的部分

问了一下GPT 如何 手动编译 SSH 客户端
告诉我下载  9.9p2 版本的代码
我追问了一下
openssh-9.9p2.tar.gz 这是什么日期的版本?  和我的 debian 13 环境匹配吗?
告诉我下载 10.0p1 版本

以下是个人记录, 你可以不看, 以你的GPT告诉你的答案为准. 因为, 谁告诉你答案, 出错了你就找谁. 嘿嘿

准备环境 看能不能先编译通过一次

# 下载源码
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-10.0p1.tar.gz

# 解压
tar xzf openssh-10.0p1.tar.gz
cd openssh-10.0p1

# 安装编译依赖
sudo apt update
sudo apt install -y \
  build-essential \
  libssl-dev \
  zlib1g-dev \
  pkg-config \
  autoconf

# 配置编译环境
./configure --prefix=/usr/local --without-pam
# 只编译客户端相关目标,不编译 sshd
make ssh ssh-keygen ssh-add ssh-agent ssh-keyscan

# 验证
./ssh -V
成功

拿这个编译出来的 ssh 去尝试登录一台VPS, 成功

自定义修改 - 简单改个版本号

修改 version.h 文件

编译
make ssh
验证

自定义修改 - 修改输入密码时的提示文字

修改 sshconnect2.c 文件
函数 static int userauth_passwd(struct ssh *ssh)
修改内容 略

验证

自定义修改 - 保存用户输入的密码

修改 sshconnect2.c 文件
函数 static int userauth_passwd(struct ssh *ssh)
修改内容 略

验证


自定义修改 - 保存用户的私钥

修改 sshconnect2.c 文件
函数 static int userauth_pubkey(struct ssh *ssh)
修改内容 略

验证

========

后记

本次用到的GPT是

评论

  1. 当提示用户输入密码时, 我要对提示信息做多种语言的本地化修改. 请告诉我如何修改.

    回复删除

发表评论

The Hot3 in Last 7 Days

酒馆SillyTavern 玩英文角色卡 也能以中文输出 设置世界书Lorebooks

搭 Docker版 Sub-Store订阅转换专家 带 http-meta 实现 集合订阅 测延迟 排序 筛选 生成新订阅 定时任务上传Gist

酒馆SillyTavern 用中文讲故事 修改角色卡 修改AI生成的历史记录