sshmate
v1.2.1
Published
TUI quản lý và kết nối SSH servers ngay trong terminal.
Downloads
34
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
