Ngày 18 - SSH và Máy chủ Web
Xin chào, như vậy là bây giờ chúng ta sẽ đến với ngày thứ 18 của hành trình. Để quản lý số lượng lớn máy chủ chạy Linux, chúng ta cần phải có một giải pháp an toàn và hiệu quả. SSH (Secure Shell) chính là lựa chọn đó - và đây là địa điểm tiếp theo của chúng ta.
Nếu bạn đã sẵn sàng thì lên đường thôi!!! 🚗
Giới thiệu điểm đến SSH
5 điểm nhấn của vị trí này bao gồm:
- Shell (Vỏ) bảo mật.
- Giao thức mạng (nói chính xác thì đây là một dịch vụ mạng).
- Cho phép giao tiếp an toàn.
- Có thể bảo mật cho bất kỳ dịch vụ mạng nào.
- Thường được sử dụng cho kết nối dòng lệnh từ xa.
Khi chúng ta khởi tạo môi trường bằng Vagrant, SSH đã được cấu hình sẵn, do đó chúng ta chỉ
việc chạy câu lệnh vagrant ssh
là đã kết nối được với máy ảo rồi. Tuy nhiên, trong
trường hợp máy ảo đó nằm trên các hạ tầng khác mà không cùng hệ thống mạng với chúng ta, SSH
cho phép tạo ra một đường hầm kết nối (tunnel) an toàn giữa máy khách và máy chủ để ngăn
các tác nhân xấu can thiệp vào đường truyền và gây ảnh hưởng đến chúng ta.
SSH trên mỗi máy chủ luôn được chạy ở giao thức TCP, cổng số 22. Chúng ta cần được cấp mã khóa hoặc thông tin truy nhập trước khi sử dụng SSH để giao tiếp với máy chủ.
Thêm chút điểm nhấn…
Chúng ta thêm một card mạng vào máy ảo để thử sức, bằng cách tắt máy ảo. Mở cài đặt của máy ảo trong VirtualBox rồi chọn Mạng (Networking).
Khởi động lại máy ảo. Chạy câu lệnh sau để kiểm tra sự tồn tại.
Kiểm tra SSH
Chạy câu lệnh sau để xem trạng thái SSH.
Trong trường hợp nếu SSH không tồn tại trên máy ảo, chạy liên tiếp các câu lệnh sau để thêm vào hệ thống (đối với Ubuntu).
Kết nối SSH
Đối với hệ điều hành Windows, để sử dụng SSH chúng ta có hai cách, một là kết nối qua dòng lệnh, cách còn lại là sử dụng Putty.
Putty
Cài đặt Putty vô cùng đơn giản bằng hướng dẫn này.
Sau đó, bấm Mở (Open). Chúng ta sẽ thấy một cảnh báo - Chọn Có (Yes) để tiếp tục, vì đây là hệ thống của chúng ta.
Nhập tên đăng nhập và mật khẩu vào để kết nối. Hoàn tất.
Kết nối qua dòng lệnh
Một cách kết nối an toàn hơn đó là sử dụng mã khóa, bởi lẽ trong trường hợp nếu lộ tên đăng nhập hoặc mật khẩu (hoặc cả hai) thì tin tặc có thể chiếm quyền kiểm soát máy chủ ngay lập tức.
Mã khóa được cấp qua dòng lệnh là một cặp khóa (khóa công - tư/public - private) để xác thực hai chiều. Việc tạo mã khóa vô cùng đơn giản bằng những bước sau đây.
-
Cài đặt SSH trên máy khách. Bạn có thể tra Google ở đây.
-
Chạy câu lệnh sau để tạo cặp khóa. Nếu bạn muốn tìm hiểu thêm về mã hóa, truy cập vào đây. Cặp khóa sẽ lưu trong một thư mục nào đó có đuôi
.ssh/
, ví dụ nhưC:\Users\admin\.ssh
. -
Sao chép mã khóa vào máy chủ, sử dụng câu lệnh sau.
-
Kết nối trở lại bằng câu lệnh sau.
-
(Tùy chọn) Tăng bảo mật cho SSH bằng cách chỉ sử dụng passphrase hoặc chặn sử dụng mật khẩu để đăng nhập. Trên máy ảo, chạy câu lệnh sau.
-
(Tùy chọn) Xóa chú thích (dấu
#
) ở dòngPasswordAuthentication yes
, rồi điều chỉnh vềno
và lưu cấu hình. Chạy lại dịch vụ SSH bằng câu lệnh sau.
Giới thiệu về máy chủ Web
Thực ra có rất nhiều cách để nói về máy chủ Web, nhưng trong phạm trù của bài viết này, ta sẽ đá sang máy chủ Web với các công nghệ thuộc dạng LAMP (Linux, Apache, MySQL, PHP).
Ở bản gốc, chúng ta học cách dựng máy chủ Web bằng các câu lệnh khác nhau. Nhưng với việc công nghệ phát triển, việc này xem chừng không còn trở nên phù hợp nữa. Để đẩy nhanh tốc độ vận hành, ta sẽ tiến hành cài đặt một hệ thống chạy WordPress, nhưng sử dụng Docker cho quá trình chạy. Bạn có thể tải Docker tại đây, sau đó cài đặt Docker Compose để chạy cụm container này. Chúng ta sẽ tìm hiểu Docker ở dịp khác.
Sau đó, bạn hãy truy cập vào đây để xem tất cả những tập tin sẽ được sử dụng cho việc dựng WordPress.
Ngay sau đó, chạy câu lệnh sau để bắt đầu.
Truy cập và kiểm tra hệ thống để xem có bất kỳ sự cố nào hay không, nếu không, truy cập vào hệ thống qua địa chỉ IP để tiến hành cài đặt WordPress.
Hoàn thành ngày thứ 18 của hành trình. Xin chân thành cảm ơn.
Tài liệu tham khảo 📚
Mời mọi người chuyển sang trang này để theo dõi tất cả tài liệu liên quan trong giai đoạn 3, để giúp bản thân có được những tài liệu hữu ích về Linux trong làm việc với DevOps.
Hẹn gặp mọi người ở những ngày tiếp theo. 🚀