slm(SSH Login Manager)是一款简洁、优雅、符合UNIX哲学的远程主机管理脚本,专为解决远程主机SSH登录信息管理与免密登录需求设计。
原市面同类脚本常存在冗余复杂(300+行代码)、可读性差的问题,因此借助AI重构开发,全程依赖Linux原生命令实现核心功能,保持极致简洁与高可靠性,可直接作为系统原生命令使用。
- 🔹 CRUD操作:添加、删除、编辑、列出远程主机SSH登录信息
- 🔹 快速登录:通过主机ID或IP一键登录远程服务器
- 🔹 免密配置:一键推送本地SSH公钥至远程主机,实现免密登录
- 将脚本文件
slm.sh重命名为slm - 移动至系统命令目录:
sudo mv slm /usr/local/bin/ - 添加执行权限:
sudo chmod +x /usr/local/bin/slm - 直接在终端输入
slm即可使用
slm [命令] [参数]| 命令 | 功能描述 | 用法示例 |
|---|---|---|
| add | 添加远程主机 | slm add 192.168.1.100 root 22 生产服务器 |
| del | 删除远程主机(支持ID/IP) | slm del 1 或 slm del 192.168.1.100 |
| edit | 编辑主机信息(支持ID/IP) | slm edit 1 192.168.1.101 admin 22 测试机 |
| list | 列出所有已配置主机 | slm list |
| login | 登录远程主机(支持ID/IP) | slm login 1 或 slm login 192.168.1.100 |
| push-key | 推送SSH公钥(实现免密登录) | slm push-key 1 |
| help | 显示帮助信息 | slm help |
- 推送公钥前需确保本地已生成SSH密钥:
ssh-keygen(按默认配置回车即可) - 主机配置文件存储于
~/.slm/remotes.txt,权限已默认设为700/600,保障安全性
- 🍃 极简依赖:仅使用Linux原生命令(ssh、ssh-copy-id、awk、grep等),无需额外安装依赖
- 🔧 原生体验:放置于
/usr/local/bin后,可像系统命令一样全局调用 - 🛡️ 可靠安全:文件操作采用原子更新,配置文件权限严格限制,避免信息泄露
