[devops] Quản lý truy cập đến nhiều server với stormssh
Bài viết được thực hiện trên:
$ uname -a Darwin Systems-MacBook-Pro-8.local 17.5.0 Darwin Kernel Version 17.5.0: Mon Mar 5 22:24:32 PST 2018; root:xnu-4570.51.1~1/RELEASE_X86_64 x86_64
Bạn đã từng đau đầu vì khi phải quản lý nhiều servers mà không thể nhớ hết các thông tin về chúng?
Có một cách đơn giản để quản lý là thêm thông tin của các server vào file ~/.ssh/config. Nhưng bạn lại NGẠI việc copy paste và sửa đổi mỗi lần thêm server hoặc thay đổi thông tin về server?
stormssh là một giải pháp hữu hiệu dành cho người lười :D. Nó giúp bạn quản lý thông tin ssh của các server đơn giản và nhanh gọn chỉ với một câu lệnh ngắn.
Cơ bản, stormssh lưu giữ thông tin các host tại ~/.ssh/config. Thay vì việc bạn phải add thông tin ssh của các server bằng tay, thì stormssh add các thông tin đó thay bạn.
Storm is a command line tool to manage ssh connections
1. Cài đặt
Trên Mac OSX, dùng brew để cài đặt:
$ brew install stormssh
Note: Trên Ubuntu hoặc CentOS có thể cài đặt với pip hoặc easy_install:
$ [sudo] pip install stormssh
hoặc:
$ [sudo] easy_install stormssh
2. Hướng dẫn sử dụng stormssh
$ storm --help $ stom add --help
Tất cả các lệnh với stormssh
usage: storm [-h] COMMAND.. Command: 'version', 'add', 'edit', 'update', 'delete', 'list', 'search', 'delete_all', 'web'
Một số lệnh cơ bản với stormssh
1. Add: thêm thông tin của ssh host
$ storm add name ssh_user@host_ip:ssh_port
default, ssh_port là port 22 nếu không được truyền.
ví dụ:
$ storm add host_test ubuntu@176.32.76.24 success host_test added to your ssh config. you can connect it by typing "ssh host_test".
Thông tin ssh của host_test sẽ được add vào file ~/.ssh/config:
$ cat ~/.ssh/config ... Host host_test hostname 176.32.76.24 user ubuntu port 22 ...
2. Edit: thay đổi thông tin của host đã được add vào stormssh
storm edit host_name ssh_user@host_ip:ssh_port
3. Delete: xoá thông tin của host đã được add vào stormssh
storm delete host_name
vd: $ storm delete host_test
4. List: list tất cả các host được quản lý bởi stormssh
$ storm list Listing entries: host_test_1 -> ec2-user@13.114.134.202:22 host_test_2 -> ec2-user@52.198.150.30:22 host_test -> ubuntu@176.32.76.24:22
5. Delete_all: xoá tất cả các host được quản lý bởi stormssh
storm delete_all
6. Search: tìm kiếm thông tin về một host được quản lý bởi stormssh
$ storm search host_name
Ví dụ:
# list các host trong tên có bao gồm abc $ storm search abc
…..
để ssh vào một server được quản lý với stormssh, gõ lệnh:
$ ssh host_name
ví dụ:
$ ssh host_test
Tham khảo thêm tại:
https://stormssh.readthedocs.io/en/latest/