Stormssh – Quản lý truy cập server trên Linux client

Mỗi server mà bạn quản lý, bạn cần ghi nhớ thêm thông tin về username, IP (hoặc hostname). Nếu bạn có quá nhiều server, việc này là không dễ và có thể phát sinh những nhầm lẫn. Với người dùng Linux client, chúng tôi sẽ giới thiệu cho bạn một công cụ cho phép bạn kết nối với server mà chỉ cần nhớ Alias – Stormssh.

Stormssh là gì?

Nói một cách ngắn gọn, Stormssh là một tool dùng để quản lý các kết nối SSH. Stormssh sẽ lưu trữ lại toàn bộ thông tin cần thiết để kết nối với server theo alias mà bạn đặt.

Thông thường, khi muốn kết nối vào server IP 123.30.42.33, username root, server này dùng để demo, bạn sẽ chạy lệnh:

$ ssh root@123.30.42.33

Nếu tôi dùng Stormssh, câu lệnh tôi cần chạy khi muốn kết nối với server của bạn sẽ là:

$ ssh demo

Thật đơn giản, hãy cài đặt và sử dụng Stormssh ngay bây giờ.

Cài đặt và sử dụng Stormssh

– Cài đặt Stormssh\

  • Từ Ubuntu/Debian client, tại cửa sổ terminal chạy lệnh:
$ sudo apt-get install python-pip
$ sudo pip install stormssh
  • Từ CentOS client, tại cửa sổ terminal chạy lệnh:
$ sudo easy_install pip
$ sudo pip install stormssh

– Sử dụng Stormssh
Để sử dụng Stromssh, trước tiên bạn cần add host – lưu trữ cố định thông tin server của bạn để sử dụng cho những lần kết nối:

$ storm add [alias] username@ip

Với server trên: $ storm add demo root@123.30.42.33

Thông tin các host sẽ được lưu trữ tại file ~/.ssh/config.

$ cat ~/.ssh/config
Host demo
    hostname 123.30.42.33
    user root
    port 22

Và thực hiện kết nối đơn giản như tôi dùng:

$ ssh demo

Ngoài add host, tôi còn có thể làm gì?

Bạn sẽ có đủ chức năng edit, delete, list cũng như search..v.v\

  • Edit host: $ storm edit

  • Delete host: $ storm delete

vd: $ storm delete demo

  • List host: $ storm list

  • Delete all host: $ storm delete_all

  • Search host: $ storm search demo

List các host trong tên có bao gồm “de”: $ storm search de

Bạn có thể xem thêm các option khác cũng như cách dùng các option bằng lệnh:

$ storm -h
$ storm [option] -h

Tôi đã trình bày các vấn đề cơ bản về Stormssh, bạn có gặp vấn đề gì khi sử dụng không? Tôi thì có. Vấn đề của tôi là:

Tôi lưu lại key demo-key-private.pem nhận được từ email và dùng key này để truy cập server, khi tôi chạy thì báo lỗi:

$ ssh demo

Permission denied (publickey,gssapi-keyex,gssapi-with-mic)

Tôi vẫn cần phải chạy:

$ ssh -i ~/demo-key-private.pem demo

Nếu vậy thì thật ra cũng chả tối ưu cho lắm. Tôi đã giải quyết một cách đơn giản như sau:

$ storm edit demo --id_file ~/demo-private-key.pem root@123.30.42.33

Câu lệnh này cho phép bạn lưu trữ lại file private key để truy cập vào server demo. Giờ hãy thử lại: $ ssh demo
Cách giải quyết này thật sự tiện dụng cho những người dùng nhiều key cho nhiều server khác nhau.

Tôi chỉ có một keypair sinh ra từ Bizfly Cloud dashboard để truy cập vào tất cả các server của tôi, mỗi lần add host lại chỉ định file thật phiền phức

Nếu bạn chỉ có một keypair sinh ra từ Cloud dashboard, chưa hề tự sinh keypair từ máy của bạn, hãy dùng keypair của chúng tôi như keypair mặc định:

$ sudo cp demo-key-private.pem .ssh/id_rsa
$ sudo chmod 400 .ssh/id_rsa

File id_rsa rất quen? Đó là file lưu trữ keypair khi bạn tự sinh key trên Ubuntu/Linux client. Vậy tức là nếu bạn tự sinh key trên client hay máy tính của bạn, sau đó thêm key này vào server, bạn có thể chạy tốt câu lệnh ssh mà không gặp lỗi kể trên.

Stormssh rất tiện lợi phải không? Nhưng tôi lại có một vài câu hỏi nữa rằng: Nếu tôi không thích dùng command line, tôi thích dùng một phần mềm giao diện trên Linux client thì sao? Và nếu tôi dùng Windows client thì tôi sẽ phải quản lý như thế nào?
Chúng tôi sẽ giới thiệu cho bạn các công cụ khác quản lý kết nối trên Windows client và quản lý kết nối trên Linux client sử dụng giao diện ở các tutorial sau.