Thiết lập ban đầu cho server chạy Centos 7
Thiết lập ban đầu cho server chạy Centos 7
Khi khởi tạo bất cứ server nào , bạn cần thiết lập một số bước cấu hình cơ bản. Điều này sẽ tăng tính bảo mật và tính khả dụng cho server của bạn và cung cấp cho bạn một nền tảng vững chắc cho những thao tác tiếp theo.
Bước 1 — Root Login
Để đăng nhập vào server của bạn, bạn sẽ cần phải biết public IP address của server. Và mật khẩu cho account của root user. Nếu bạn chưa đăng nhập vào server của bạn, hãy xem cách kết nối SSH tới Cloud Server của ViCloud.
Nếu chưa sẵn sàng để kết nối tới server, tiếp tục log in vào root
user với lệnh:
ssh root@SERVER_IP_ADDRESS
Hoàn tất quá trình login bằng cách chấp nhận cảnh báo về tính xác thực của server nếu nó xuất hiện, sau đó cung cấp chứng thực quyền root của bạn (password hoặc private key). Nếu đây là lần đầu tiên bạn login vào server với một mật khẩu, bạn cũng sẽ được nhắc nhở để thay đổi mật khẩu gốc
Bước 2 — Sơ lược về root
Root user là user có quyền admin quản lí với quyền truy cập sâu vào hệ thống. Với những đặc quyền ấy, bạn phải rất cẩn thận vì những thay đổi với quyền root có thể gây ra sự ảnh hưởng đáng kể đến hệ thống.
Bước tiếp theo là để user thay thế với quyền hạn thấp hơn cho công việc. Bạn sẽ được học cách sử dụng những đặc quyền mạnh hơn sau này, ở đây ta chỉ tạo ra một non-root user với quyền sudo.
Bước 2 — Tạo user mới
Khi đăng nhập với quyền root
, ta sẽ tạo ra một acccount khác để sử dụng từ giờ trở đi.
Ví dụ này thêm một user mới với tên demo với lệnh:
adduser demo
Tạo password bằng:
passwd demo
Nhập vào một mật khẩu đủ mạnh, sau đó xác nhận lại.
Bước 3 — Cấp quyền root
User mới được tạo đã có thể thực hiện những truy cập thông thường. Tuy nhiên đôi khi ta sẽ phải thực hiện những lệnh với quyền root mà nó không thực hiện được.
Để tránh phải log out và log in lại vào root user, bạn có thể thiết lập "superuser" hay đặc quyền root cho user vừa tạo. Điều này sẽ cho phép user đó chạy các lệnh với quyền admin bằng cách đặt từ khóa sudo
phía trước lệnh.
Với quyền root
, chạy lệnh này để thêm user vừa tạo vào "whell" group ( nhóm những người dùng được cấp quyền dùng lệnh sudo )
gpasswd -a demo wheel
Bước 4 — Thêm vào Xác thực Public Key (Recommended)
Bước tiếp theo trong việc bảo mật server của bạn là để thiết lập xác thực public key cho user của bạn. Thiết lập này sẽ tăng tính bảo mật của server bằng cách yêu cầu xác thực một private SSH key mỗi khi login.
Tạo Key Pair
Nếu chưa có một SSH key pair ( gồm một public và một private key) ,bạn cần khởi tạo nó. Nếu đã có, hãy chuyển sang bước Copy Public Key.
Nhập lệnh sau vào terminal thuộc local machine (chẳng hạn máy tính) của bạn:
ssh-keygen
Giả sử tên local user của bạn là "localuser", output sẽ như sau:
ssh-keygen output Generating public/private rsa key pair. Enter file in which to save the key (/Users/localuser/.ssh/id_rsa):
Bấm Enter để tiếp tục
Tiếp theo, nhập và một mật khẩu để bảo mật bộ key hoặc bỏ trống .
Lưu ý: Nếu để trống, bạn có thể dùng private key để log in mà không cần nhập mật khẩu. Nếu nhập vào mật khẩu, bạn sẽ cần cả mật khẩu và private key. Sử dụng mật khẩu sẽ an toàn hơn, nhưng cả 2 cách đều có ưu điểm của nó và đều an toàn hơn việc sử dụng mật khẩu thông thường.
Quá trình trên tạo ra một private key id_rsa
, và một public key id_rsa.pub
,trong thư mục .ssh
trong đường dẫn gốc của localuser. Hãy bảo mật private key của bạn!
Sau khi khởi tạo, hãy copy public key của bạn vào server mới. Ở đây trình bày 2 cách để thực hiện điều này
Chú ý: Phương thức ssh-copy-id
sẽ không hoạt động trên ViCloud nếu SSH key đã được thêm vào khi tạo Cloud Server, vì ViCloud vô hiệu hóa việc xác thực mật khẩu, và ssh-copy-id
dựa vào xác thực mật khẩu để copy key.
Nếu bạn đã thêm vào một SSH key trong lúc tạo Cloud Server, hãy sử dụng cách 2.
Cách 1: Dùng ssh-copy-id
Nếu local machine của bạn đã cài đặt ssh-copy-id
, bạn có thể dùng nó để thêm public key vào bất cứ user nào bạn có quyền truy cập đến.
Chạy ssh-copy-id
bằng cách nhập vào tên user và địa chỉ IP của server bạn muốn cài key vào như sau ( chú ý phần hightlight):
ssh-copy-id demo@SERVER_IP_ADDRESS
Sau khi cung cấp mật khẩu, public key của bạn sẽ được thêm vào file .ssh/authorized_keys
. Private key đi kèm với nó đã có thể dùng để login vào server.
Cách 2: Cài một cách thủ công
Giả sử bạn đã tạo một SSH key pair, chạy những lệnh sau ở terminal thuộc local machine của bạn để in ra public key (id_rsa.pub
):
cat ~/.ssh/id_rsa.pub
Public key sẽ được hiển thị:
id_rsa.pub contents
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBGTO0tsVejssuaYR5R3Y/i73SppJAhme1dH7W2c47d4gOqB4izP0+fRLfvbz/tnXFz4iOP/H6eCV05hqUhF+KYRxt9Y8tVMrpDZR2l75o6+xSbUOMu6xN+uVF0T9XzKcxmzTmnV7Na5up3QM3DoSRYX/EP3utr2+zAqpJIfKPLdA74w7g56oYWI9blpnpzxkEd3edVJOivUkpZ4JoenWManvIaSdMTJXMy3MtlQhva+j9CgguyVbUkdzK9KKEuah+pFZvaugtebsU+bllPTB0nlXGIJk98Ie9ZtxuY3nCKneB+KjKiXrAvXUPCI9mWkYS/1rggpFmu3HbXBnWSUdf localuser@machine.local
Copy Pubkey vào clipboard. Tiếp theo ta sẽ thêm nó vào một file trong thư mục gốc của user để kích hoạt.
Trên server, với root user, dùng lệnh sau để tạm thời chuyền tới user có tên "demo"
su - demo
Tạo đường dẫn có tên .ssh
và cấm truy cập vào nó với lệnh:
mkdir .ssh
chmod 700 .ssh
Mở file authorized_keys trong .ssh
bằng một trình soạn thảo, ở đây dùng vi :
vi .ssh/authorized_keys
Gõ i
để bắt đầu edit rồi paste public key vào. Xong đó ESC
để quay lại.
Nhập lệnh :x
rồi ENTER
để lưu file và thoát.
Cấm truy cập tới file authorized_keys bằng lệnh:
chmod 600 .ssh/authorized_keys
Quay lại root
user:
exit
Vậy là xong.
Tiếp theo hãy tăng tính bảo mật của hệ thống bằng cách vô hiệu hóa những xác thực bằng mật khẩu.
Bước 5 — Cấu hình SSH Daemon
Để tăng thêm tính bảo mật của server, ta sẽ điều chỉnh cấu hình của SSH daemon ( phần mềm cho phép truy cập có điều khiển ) để từ chối những SSH access đến root account.
Mở file cấu hình sau với quyền root:
vi /etc/ssh/sshd_config
Ở đây có tùy chọn ngăn chặn root login qua SSH. Cài đặt này sẽ an toàn hơn, vì kể từ bây giờ chúng ta có thể truy cập vào máy chủ qua user account thông thường và chỉ thêm đặc quyền cho nó khi cần thiết.
Tìm đến dòng:
#PermitRootLogin yes
Gợi ý: Để tìm kiếm, gõ /PermitRoot
rồi bấm ENTER
.
Xóa kí tự "#" ở đầu (dùng tổ hợp phím Shift-x
).
Gõ c
để chuyển con trỏ đến "yes"
Thay thế "yes" by bằng lệnh cw
, rồi gõ "no".
PermitRootLogin no
Chọn Escape
khi edit xong.
Nhập :x
rồi ENTER
để lưu file và thoát.
Reload SSH
Sau khi cấu hình SSH daemon, reload SSH để hiện thực hóa những thay đổi với lệnh:
systemctl reload sshd
Bây giờ, trước khi bạn log out khỏi server, hãy kiểm tra cấu hình mới của bạn. Không ngắt kết nối cho đến khi bạn xác nhận rằng việc cấu hình đã thành công, và bạn đã có thể đăng nhập vào server.
Nhập lệnh sau trên một terminal: (với SERVER_IP_ADDRESS là địa chỉ IP của server)
ssh demo@SERVER_IP_ADDRESS
Note:Nếu bạn đang sử dụng PuTTY , chắc chắn rẳng bạn đã update port number của session để khớp với cấu hình hiện tại
Nhập password để log in vào user.
Nhớ rằng nếu cần thực hiện một lệnh vưới quyền root, gõ sudo ngay trước lệnh:
sudo command_to_run
Thoát ra với:
exit