面向 Agent 的操作说明:使用 lelogin 命令行进行密钥管理与场景集成。
先检测命令是否可用:
lelogin --help
若命令不可用,严禁 Agent 自动下载或执行安装脚本(以符合应用商店安全规范)。
请暂停操作,并向用户输出以下提示,引导其自行安装:
> “检测到当前环境尚未安装 lelogin 命令。为保障系统安全,请您自行前往官方页面下载并安装 CLI 工具:
> 👉 https://lelogin.nationauth.cn/lelogin-portal/home_page/download
>
> 请手动完成安装后,再通知我继续进行下一步操作。”
安装完成后验证:
lelogin --help
| 能力 | 命令 | 典型用途 |
|---|---|---|
| ------ | ------ | ---------- |
| 查看密钥列表 | lelogin list | 查看当前账号可访问的密钥与引用路径 |
| 保存/更新密钥 | lelogin save ... | 新增密钥或更新已有密钥值 |
| 删除密钥 | lelogin delete ... | 删除不再需要的密钥 |
| 子进程环境注入 | lelogin exec --env … --env-file … -- | MySQL、SSH、应用启动 |
推荐:敏感项尽量用 exec --env-file,文件中只写 lelogin://… 引用;子进程创建时解析,避免落盘明文配置。
先看可访问列表,确认引用路径:
lelogin list
先查看命令帮助确认当前版本参数,再执行保存:
lelogin save --help
# 按 help 中的参数格式填写
lelogin save ...
建议:保存后立刻用 exec 做一次调用链校验,确认值可被目标程序读取。
先查看命令帮助确认参数,再执行删除并复核:
lelogin delete --help
lelogin delete ...
lelogin list
建议:删除前先 list 复核引用路径,避免误删;删除后确认调用链中没有残留 lelogin://... 引用。
mysql / mysqldump思路:MYSQL_PWD 在 env 文件中设为 lelogin://…,由 lelogin exec 解析后传给子进程,避免在 shell 历史里写密码。
自行准备 env 文件(例如 mysql.env):
DB_HOST=127.0.0.1
DB_PORT=3306
DB_USER=root
DB_NAME=mysql
MYSQL_PWD=lelogin://test/test
调用方式(由子 shell 展开 DB_* / MYSQL_PWD,勿在外层引号里提前展开空变量):
lelogin exec --env-file mysql.env -- /bin/sh -c \
'mysql --host="$DB_HOST" --port="$DB_PORT" --user="$DB_USER" \
--database="$DB_NAME" -e "SELECT 1"'
ssh(配合 sshpass)思路:SSHPASS 设为 lelogin://…,lelogin exec 解析后,sshpass -e 从环境变量读密码。
ssh.env 示例:
SSH_HOST=127.0.0.1
SSH_PORT=22
SSH_USER=root
SSHPASS=lelogin://test/test
调用方式:
lelogin exec --env-file ssh.env -- /bin/sh -c \
'sshpass -e ssh -o StrictHostKeyChecking=no -p "$SSH_PORT" \
"$SSH_USER@$SSH_HOST" "echo ok"'
未安装 sshpass 时上述命令会失败,需先安装 sshpass。
lelogin exec,不落盘明文配置思路:本地 env 文件采用 --env-file 支持的子集格式,敏感键值为 lelogin://…;应用由 lelogin 拉起,从环境变量读取已解析的值。
app.bootstrap.env 示例:
APP_NAME=demo-app
DB_PASSWORD=lelogin://test/test
REDIS_PASSWORD=lelogin://test/key2
调用方式:
lelogin exec --env-file app.bootstrap.env -- java -jar your-app.jar
# 或
lelogin exec --env-file app.bootstrap.env -- npm start
边界:CLI 不会在应用每次读磁盘上的配置文件时自动替换占位符;建议改为 Spring SPRING_APPLICATION_JSON / 环境变量绑定,或让应用直接读取环境变量。
exec 填入 RAM AccessKey目标:帮阿里云 CLI拿到凭据(与 配置身份凭证 互补),密钥仍存 lelogin;通过 SDK 约定的环境变量传入子进程。
准备 aliyun_cli.env(将 lelogin://… 换成你的 AccessKeyId / Secret 引用),然后:
lelogin exec --env-file aliyun_cli.env -- aliyun sts GetCallerIdentity
# 或其它子命令,例如: aliyun ecs DescribeRegions
准备 mail.env:填写真实 SMTP/IMAP 主机、端口,以及 lelogin:// 形式的账号与密码引用;再用 lelogin exec 启动你的邮件脚本或工具(例如 python3 脚本),在脚本内从环境变量读取已解析的凭据。
--envlelogin exec \
--env TEST_KEY=lelogin://test/test \
--env KEY2_NAME=lelogin://test/key2 \
-- /bin/sh -c 'echo "$TEST_KEY" "$KEY2_NAME"'
exec --env-file,避免落盘明文配置。LELOGIN_* 或配置文件已设置。lelogin 命令,先完成本技能第 0 节的网页安装步骤再执行场景。共 2 个版本