zero2hero #2: Kết nối SSH để quản trị server

09/03/2020

Sau khi chuẩn bị môi trường hoàn tất, bước tiếp theo ta sẽ tiến hành SSH vào server để bắt đầu quản trị. SSH hoạt động theo mô hình Client – Server, trong đó:

  • SSH Client: máy bạn dùng để kết nối tới server, đây sẽ là nơi bạn gõ lệnh, thường chính là máy tính của bạn.
  • SSH Server: máy chủ cần đăng nhập vào để quản trị

Trong bài viết mình sẽ hướng dẫn kết nối vào SSH Server (chạy Linux) bằng SSH Client sử dụng hệ điều hành lần lượt là Linux và Windows.

1. Thông tin đăng nhập

Để tiến hành SSH vào máy chủ, bạn cần có thông tin đăng nhập bao gồm username , password, IP máy chủ và Port SSH (mặc định 22).  Thông tin này có được từ:

  • Quá trình cài đặt hệ điều hành cho máy chủ sẽ yêu cầu bạn tạo user & password.
  • Khi mua VPS/Server từ các nhà cung cấp dịch vụ, bạn sẽ nhận được email chứa thông tin đăng nhập bao gồm username, password và IP server.
  • Thông tin này từ cấp trên hay đồng nghiệp khi họ cấp quyền truy cập server cho bạn.

Trong trường bài LAB của chúng ta, thông tin SSH như sau:

– User: root

– Password: 123456

– IP: 192.168.0.10

– Port: 22

2. SSH vào server sử dụng password

2.1. Hệ điều hành Linux

  • Mở terminal và chạy lệnh
$ ssh -v [email protected]
  • Nhập password
  • Nếu hiện ra giao diện như sau là đã login thành công

2.2. Hệ điều hành Windows

  • Tải putty SSH
  • Chạy putty SSH và nhập vào IP server, sau đó Enter
  • Putty sẽ kết nối đến Server, nếu kết nối thành công sẽ hiện ra bảng yêu nhập username & password.
  • Nhập username và password, sau đó login thành công sẽ ra giao diện như sau.

3. SSH vào server sử dụng key

– Ngoài cách SSH vào server sử dụng password, bạn có thể SSH bằng cách sử dụng key.

– Với cách này, bạn sẽ tạo ra 1 cặp key bao gồm:

  • Private Key: key này cần phải được lưu trữ cẩn thận, ai có key này thì có thể đăng nhập vào server mà không cần password. Key này được lưu trữ ở phía SSH Client.
  • Public Key: key này không cần thiết phải giữ kỹ, key sẽ được lưu trữ trên server. Server nào có chứa key này thì bạn có thể dùng private key tương ứng để login vào.

3.1. Client sử dụng hệ điều hành Linux 

a. Tạo Private Key & Public Key

  • Trên máy Client, mở terminal và chạy lệnh:
$ ssh-keygen -t rsa -b 2048 -f zero2hero
  • Khi hiện ra thông báo “Enter passphrase”, bạn “Enter” 2 lần để bỏ qua việc nhập passpharse. Việc này giúp đơn giản hóa quá trình làm quen, sau này đến phần bảo mật mình sẽ hướng dẫn cách làm khác.
  • Sau khi hoàn tất, chạy lệnh:
$ ls -l
  • Bạn sẽ nhận được kết quả như sau
  • Có 2 file sẽ được sinh ra sau khi chạy lệnh:
    • zero2hero: File Private key (cần được giữ kỹ)
    • zero2hero.pub: File public key (cần add lên server)

b. Lấy nội dung public key

  • Chạy lệnh
$ cat zero2hero.pub
  • Copy kết quả của kệnh.

c. Add public key lên server

  • Tiến hành SSH vào server sử dụng Password như ở phần 2.
  • Sau khi SSH thành công vào server, chạy lệnh sau:
$ mkdir /root/.ssh/
$ touch /root/.ssh/authorized_keys
$ echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyDcoFFUd1VzLbET8lTpTSkXErUFWyFipw9HnRWqSZh49GrXNU54D2RjPIUv1/hNarAx7ajVsz/vMDqlk6plZqXXca2BV7hB+6hpEWSTuYP6la9awtGxER5eTb26OG+eh8IYV93LnrTKr0FhoJe0xCH9DQLuMz0YEKbETDHwB+nkRauQelaX7dXifetH3NDpKwmodFLhGqVewA8IyAOy1ifMTRjxxTKuzV2f7vUgP3cW8zZl9/oyWnPq5sEKfMxu+SHfn91/DX5pPhGRMu18XNv5LUuKBDWQWeoWuTCKn+scR7ow+LmFFLK+92B9JiCO3XP+m+fTGuJtPyiWddXhJx zero2hero@vietnix" > /root/.ssh/authorized_keys
  • Ở lệnh echo, thay nội dung trong dấu ngoặc kép bằng public key của bạn đã lấy được ở bước b (kết quả của lệnh cat).
  • Giải thích:
    • mkdir /root/.ssh/: Tạo thư mục /root/.ssh
    • touch /root/.ssh/authorized_keys: Tạo file /root/.ssh/authorized_keys
    • echo “…” > /root/.ssh/authorized_keys: add nội dung của public key vào fifle authorized_keys.
  • Kiểm tra lại, đảm bảo key đã được add thành công:
$ cat /root/.ssh/authorized_keys
  • Nếu thấy kết quả in ra giống kết quả ở bước “b” là thành công.

d. Tiến hành SSH vào server sử dụng key

  • Mở terminal mới, chạy lệnh
$ ssh -v -i zero2hero [email protected]
  • Lưu ý: khi kết nối SSH từ phía client, file được sử dụng trong lệnh ssh là file private key (zero2hero).

3.2. Client sử dụng hệ điều hành Windows

a. Tạo Private Key & Public Key

  • Để tạo Key trên hệ điều hành Windows cần sử dụng một công cụ tên là “Puttygen”. Khi bạn cài đặt Putty ở bước 2 thì Puttygen cũng đã được cài đặt theo.
  • Vào “Start” search “Puttygen” và chạy
  • Để mặc định và bấm “Generate” để tạo key, sau khi bấm “Generate” thì rê chuột xung quanh khoảng trống phía trên cho đến khi tạo key hoàn tất.
  • Bấm “Save Public Key” và “Save Private Key” để chọn nơi lưu key.

b. Lấy nội dung Public Key

  • Tìm đến file Public Key đã save ở bước trên và mở ra bằng Notepad
  • Đoạn được khoanh đỏ là public key cần lấy để add lên server.
  • Mặc định, public key sẽ gồm nhiều dòng, để add lên được server, bạn cần gom chúng lại thành 1 dòng và chèn thêm chữ “ssh-rsa” ở đầu như sau:
  • Copy dòng kết quả vừa tạo.

c. Add public key lên server

  • Tiến hành SSH vào server sử dụng password như ở bước 2
  • Sau khi SSH thành công vào server, chạy lệnh sau:
$ mkdir /root/.ssh/
$ touch /root/.ssh/authorized_keys	
$ echo "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAxfV9irLCuUYVsg9LeKQG72wBx+HNAlhWvk4zIEEdw5XX/VW/TuooqICbw/jPNM6W43WtCHGecyIUKvd+AVNxiX8gKM/NSSRHznIMNq2fsCmmIu4fZ2Dr6W7uhQMCQunSKz+0FmgJtLLiZVHa5vSOMncps66tuz4gZ9RWum//EZ4bcWXq1f3aTPnzZeUmt98x2zD8c3G1YskvkHpxnryWNdnG2GGYZnTEmqQOUAyWaihRb3/wKM15Tl1JWx2W6ldjrDMLgjp4hhlZf/MRwTigSV2R/5ETf+iFmtXnpKBkl47OgwMpsvZqr5irFtvre5B33EElmXuQ4kaX79keQejmCw==" > /root/.ssh/authorized_keys
  • Ở lệnh “echo”, thay nội dung trong dấu ngoặc kép bằng public key bạn đã gom lại thành 1 dòng ở bước “b”
  • Giải thích:
    • mkdir /root/.ssh/: Tạo thư mục /root/.ssh
    • touch /root/.ssh/authorized_keys: Tạo file /root/.ssh/authorized_keys
    • echo “…” > /root/.ssh/authorized_keys: add nội dung của public key vào fifle authorized_keys.
  • Kiểm tra lại, đảm bảo key đã được add thành công:
$ cat /root/.ssh/authorized_keys

d. Tiến hành SSH vào server sử dụng key

  • Mở lại Putty
  • Phần “Connection” > “SSH” > “Auth” > Chọn đến vị trí file Private Key đượ tạo ra ở bước a.
  • Quay trở lại phần “Session” > Nhập IP Server và bấm “Open”
  • Putty sẽ hiện lên bảng yêu cầu nhập username, nhập vào “root”, kết quả như sau là thành công:

4. Tổng kết

Đến đây, bạn đã bước được đến nơi cần đến, quá trình luyện công chính thức bắt đầu. Sau khi hoàn thành bài tập hôm nay hãy lập tức snapshot máy ảo lại để chuẩn bị cho bài tiếp theo nhé.

Hãy tham gia vào group chat Telegram của nhóm để thảo luận và học hỏi từ các thành viên khác: https://t.me/quantrilinux