June 16, 2015

Quản lí dịch vụ SSH

Với những ai làm Linux System Admin hoặc DevOps thì việc quản lí vài chục, vài trăm server là chuyện bình thường. Việc nhớ các địa chỉ IP, port để SSH vào sẽ rất khó. Dưới đây là cách mình dùng để quản lý các truy cập SSH của mình rất tiện dụng và đỡ phải nhớ nhiều.
Cách này áp dụng cho những ai xài Linux hoặc Mac, SSH từ terminal.

1. Cách thông thường

Nếu không quản lý thì cách thông thường để ta SSH vào server như sau:
ssh xluffy@1.2.3.4 
or
ssh xluffy@2.3.4.5 -p 5050 -> nếu port mặc định ssh được đổi
or
ssh root@3.4.5.6
or
ssh root@4.5.6.7 -p 2222
or 
ssh -i ~/.ssh/ruby.xyz.private root@5.6.7.8
Như cách thông thường này bạn sẽ phải nhớ 4 thông số
  • User đăng nhập vào server đó (nếu bạn quản lí nhiều server với nhiều vai trò khác nhau)
  • Địa chỉ IP của server
  • Port của server (nếu port được đổi khác port mặc định 22)
  • Chỉ định private key

2. Quản lý với SSH client

Để quản lý ta có thể cấu hình SSH client như sau (~/.ssh/config)
Host kipalog.com
  User xluffy
  Hostname 1.2.3.4
  Port 5050
Host ruby.vn
  User xluffy
  Hostname 2.3.4.5
Host ruby.xyz
  User root
  Hostname 3.4.5.6
  Port 2222
Host x.ruby.xyz
  User root
  Hostname 4.5.6.7
  IdentityFile ~/.ssh/ruby.xyz.private
Với
  • Host: là tên tùy ý
  • User: user dùng để SSH
  • Hostname: địa chỉ IP của server
  • Port: port SSH, nếu bỏ trống có nghĩa là dùng port 22 mặc định
  • IdentityFile: chỉ tới private key, trong trường hợp bạn có nhiều cặp khóa
Từ bây giờ để SSH tới server bạn có thể làm như sau
ssh kipalog.com <=====> ssh xluffy@1.2.3.4 -p 5050
ssh ruby.vn <=====> ssh xluffy@2.3.4.5
ssh ruby.xyz <=====> ssh root@3.4.5.6 -p 2222
Rất dễ nhớ và không phải gõ nhiều

3. Quản lý SSH like a boss

Ngoài cách quản lý như trên mình có dùng thêm một gói storm. Với gói này bạn có thể dễ dàng add, edit, delete, list... các cấu hình quản lý SSH dễ dàng.
Ví dụ:
storm list
 Listing entries:
    kipalog.com -> xluffy@1.2.3.4:5050
    ruby.vn -> xluffy@2.3.4.5:22
    ruby.xyz -> root@3.4.5.6:2222
    x.ruby.xyz -> root@4.5.6.7:22 
        [custom options] identityfile=~/.ssh/ruby.xyz.private

storm search ruby
Listing results for ruby:
    ruby.vn -> xluffy@2.3.4.5:22
    ruby.xyz -> root@3.4.5.6:222i2
    x.ruby.xyz -> root@4.5.6.7:22

Nguồn : http://kipalog.com/posts/Quan-li-dich-vu-SSH

1 comment: