sshmate
v1.1.0
Published
TUI quản lý và kết nối SSH servers ngay trong terminal.
Readme
sshmate
TUI quản lý và kết nối SSH servers ngay trong terminal.
Cài đặt
# Chạy trực tiếp (không cần cài)
npx sshmate
# Hoặc cài global
npm i -g sshmateTừ source
git clone <repo-url>
cd sshmate
npm install
npm run build
npm linkSử dụng
# Mở TUI
sshm
# Quick connect tới server đã lưu
sshm <tên-server>Phím tắt
| Phím | Chức năng |
| ------------ | ---------------------- |
| j / Down | Di chuyển xuống |
| k / Up | Di chuyển lên |
| Enter | Kết nối SSH |
| a | Thêm server mới |
| u | Cập nhật server |
| d | Xóa server |
| r | Tái tạo SSH key |
| q / Ctrl+C | Thoát |
Xác thực
sshmate hỗ trợ 2 kiểu xác thực:
SSH Key
- Dùng file key có sẵn (mặc định
~/.ssh/id_rsa) - Hoặc dán nội dung private key — sshmate sẽ lưu vào
~/.sshm/keys/
Password (cần sshpass)
Khi xác thực bằng password, sshmate sử dụng sshpass để truyền password cho SSH.
Auto-install: Lần đầu kết nối bằng password, nếu sshpass chưa có trong hệ thống, sshmate sẽ tự động phát hiện OS và cài đặt.
Cài thủ công (nếu auto-install thất bại):
# Ubuntu / Debian
sudo apt install -y sshpass
# Arch Linux
sudo pacman -S sshpass
# Fedora / RHEL
sudo dnf install -y sshpass
# Alpine
apk add sshpass
# macOS (cần Homebrew)
brew install esolitos/ipa/sshpassLưu trữ dữ liệu
Tất cả dữ liệu được lưu tại ~/.sshm/:
~/.sshm/
├── servers.json # Danh sách server
├── credentials/ # Password (mã hóa)
└── keys/ # SSH private keysPublish lên npm
1. Chuẩn bị
Đảm bảo package.json đã có đầy đủ thông tin:
# Sửa name nếu bị trùng trên npm
# Ví dụ: @your-scope/sshmate2. Đăng nhập npm
npm login3. Build và publish
# Dry run để kiểm tra trước
npm publish --dry-run
# Publish thật
npm publish
prepublishOnlysẽ tự động chạynpm run buildtrước khi publish.
4. Publish với scope (nếu name bị trùng)
// package.json
{
"name": "@your-scope/sshmate",
"bin": {
"sshm": "dist/index.js"
}
}npm publish --access public5. Cập nhật version
npm version patch # 1.0.0 → 1.0.1
npm version minor # 1.0.0 → 1.1.0
npm version major # 1.0.0 → 2.0.0
npm publishLicense
ISC
