sshc ตัวจัดการโฮสต์ SSH แบบ TUI ที่สร้างด้วย Rust
(github.com/hang-in)สวัสดีครับ
ขอแชร์ เครื่องมือ TUI ขนาดเล็กที่สร้างด้วย Rust ชื่อ sshc
ที่ช่วยให้ค้นหาและเชื่อมต่อโฮสต์จากเทอร์มินัลได้อย่างเบาและปลอดภัย
GitHub repository: https://github.com/hang-in/sshc
ฟีเจอร์หลักและสถาปัตยกรรม
sshc ถูกออกแบบภายใต้ปรัชญาว่า "จะไม่แตะต้องไฟล์คอนฟิกที่ผู้ใช้เขียนเองโดยเด็ดขาด"
โหมดอินไลน์ (sshc) แสดงตัวเลือกใต้เชลล์พรอมป์ต์ทันทีโดยไม่สลับหน้าจอ (เชื่อมต่อได้รวดเร็วด้วยการกด Enter ครั้งเดียว โดยไม่รบกวน scrollback)
โหมดจัดการ (sshc -m) รองรับการเพิ่ม ลบ ตั้งรายการโปรด และแก้ไขแท็กของโฮสต์ผ่าน TUI แบบเต็มหน้าจอ (เชื่อมกับ $EDITOR และจัดการโฮสต์ได้อย่างเป็นธรรมชาติ)
โครงสร้างแยกอย่างปลอดภัย โฮสต์ใหม่จะถูกบันทึกลงใน ~/.ssh/config.d/sshc.conf เท่านั้น (ไฟล์ ~/.ssh/config เดิมจะเพิ่มเพียงบรรทัด Include เพื่อปกป้องไฟล์เดิมอย่างปลอดภัย)
รองรับหลายแพลตฟอร์ม รองรับทั้ง macOS, Linux (ต้อง build) และ native Windows build (v0.7+) ด้วย (รองรับครบทั้งผู้ใช้ WSL2 และสภาพแวดล้อม Windows OpenSSH)
ทำไมต้อง sshc แทน fzf snippet หรือเครื่องมืออื่น?
- ระบบจัดลำดับความสำคัญอัจฉริยะและระบบแท็ก:
หากปักหมุด (f) เซิร์ฟเวอร์ที่ใช้บ่อยในโหมดจัดการ หรือมีประวัติการเชื่อมต่อล่าสุด โฮสต์นั้นจะถูกดันขึ้นมาอยู่บนสุดโดยอัตโนมัติในโหมดอินไลน์ รองรับแท็กแบบคอมเมนต์ เช่น# @tags: prod, stagingทำให้ค้นหาเฉพาะเซิร์ฟเวอร์ใช้งานจริงได้ด้วยคำค้น@prod - เครื่องมือตรวจวินิจฉัยสภาพแวดล้อม (
sshc --doctor):
เมื่อโครงสร้างพื้นฐานมีอาการรวนเป็นบางครั้ง มันจะช่วยวินิจฉัยสถานะสิทธิ์ของ~/.sshและสถานะการเชื่อมต่อ pipe ของssh-agent(SSH_AUTH_SOCKเป็นต้น) อย่างละเอียด โดยลดการเรียกใช้เครือข่ายให้น้อยที่สุด - ความปลอดภัยแบบไม่สร้างสิ่งเดิมซ้ำใหม่:
ต่างจากเครื่องมือบางตัวที่สร้างด้วย Python ซึ่งพาร์สไฟล์คอนฟิกเดิมทั้งก้อนจนโครงสร้างพังsshcจะไม่ทำแบบนั้น และต่างจากสคริปต์fzfที่ใช้การจับคู่ข้อความอย่างง่ายจนพลาดคำสั่งIncludeมันเคารพกลไกssh -Gและอยู่ร่วมกับระบบเดิมได้อย่างสมบูรณ์
ติดตั้งและเริ่มใช้งานอย่างรวดเร็ว
macOS / Linux (Homebrew):
brew install hang-in/tap/sshc
sshc
Windows (PowerShell):
irm [https://github.com/hang-in/sshc/…](https://github.com/hang-in/sshc/releases/latest/download/sshc-installer.ps1) | iex
สร้างขึ้นเพื่อเวิร์กโฟลว์ที่มีประสิทธิภาพสำหรับวิศวกรที่ไม่อยากออกจากเทอร์มินัลอีกต่อไป ถึงเวลาวางภาระการพิมพ์ cat ~/.ssh/config พร้อมคิดว่า "alias ของเซิร์ฟเวอร์นั้นชื่ออะไรนะ?" ได้แล้ว
เนื่องจากเป็นโครงการโอเพนซอร์ส จึงยินดีต้อนรับทั้งการรายงาน issue และ Pull Request อยู่เสมอ (ตั้งเป้าตอบกลับภายใน 24 ชั่วโมง!) หากคุณชอบโปรเจกต์นี้ ฝากกด ⭐️Star บน GitHub กันด้วยนะครับ ขอบคุณครับ!
ยังไม่มีความคิดเห็น