Tổng Quan Về Việc Tạo User Trong SSH
Việc tạo và quản lý user trong SSH (Secure Shell) là một trong những kỹ năng cơ bản nhưng vô cùng quan trọng đối với quản trị viên hệ thống. SSH là giao thức bảo mật được sử dụng phổ biến để truy cập từ xa vào máy chủ Linux. Việc thiết lập đúng cách các tài khoản người dùng không chỉ giúp duy trì tính tổ chức mà còn đảm bảo an ninh cho hệ thống của bạn.
Các Bước Cơ Bản Để Tạo User Trong SSH
1. Tạo Người Dùng Mới Trên Hệ Thống Linux
Để tạo một người dùng mới trên hệ thống Linux, bạn sẽ sử dụng lệnh useradd
hoặc adduser
tùy thuộc vào bản phân phối Linux của bạn. Đối với các hệ thống như Ubuntu/Debian, lệnh adduser
thường được khuyến nghị vì nó thân thiện với người dùng hơn.
# Tạo người dùng mới bằng lệnh adduser sudo adduser username # Hoặc sử dụng useradd (phổ biến trên CentOS/RHEL) sudo useradd -m -s /bin/bash username sudo passwd username
2. Cấp Quyền Sudo Cho Người Dùng (Nếu Cần)
Trong nhiều trường hợp, bạn sẽ muốn cấp quyền sudo cho người dùng mới để họ có thể thực hiện các tác vụ quản trị. Điều này có thể được thực hiện bằng cách thêm người dùng vào nhóm sudo hoặc thêm họ vào tệp sudoers.
# Thêm người dùng vào nhóm sudo sudo usermod -aG sudo username # Hoặc trên CentOS/RHEL, sử dụng nhóm wheel sudo usermod -aG wheel username # Chỉnh sửa tệp sudoers (cẩn thận khi chỉnh sửa tệp này) sudo visudo
3. Thiết Lập Khóa SSH Cho Người Dùng
Việc sử dụng xác thực khóa SSH thay vì mật khẩu là một biện pháp bảo mật tốt hơn. Để thiết lập khóa SSH cho người dùng mới, bạn cần tạo thư mục .ssh
và tệp authorized_keys
.
# Đăng nhập dưới tên người dùng mới su - username # Tạo thư mục .ssh và đặt quyền phù hợp mkdir -p ~/.ssh chmod 700 ~/.ssh # Tạo tệp authorized_keys và đặt quyền phù hợp touch ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys # Thêm khóa công khai vào tệp authorized_keys echo "ssh-rsa AAAAB3NzaC1yc2E..." >> ~/.ssh/authorized_keys
Cấu Hình Nâng Cao Cho User SSH
1. Giới Hạn Truy Cập SSH Cho Người Dùng Cụ Thể
Để tăng cường bảo mật, bạn có thể giới hạn những người dùng được phép đăng nhập qua SSH bằng cách chỉnh sửa tệp cấu hình SSH.
sudo nano /etc/ssh/sshd_config # Thêm hoặc chỉnh sửa dòng sau AllowUsers username1 username2 # Lưu và khởi động lại dịch vụ SSH sudo systemctl restart sshd
2. Thiết Lập Hạn Chế Shell Cho User SSH
Đối với một số người dùng, bạn có thể muốn giới hạn khả năng truy cập shell đầy đủ. Một cách để làm điều này là sử dụng rssh hoặc scponly.
# Cài đặt rssh sudo apt-get install rssh # Ubuntu/Debian sudo yum install rssh # CentOS/RHEL # Thiết lập shell cho người dùng sudo usermod -s /usr/bin/rssh username
3. Quản Lý Nhóm Và Phân Quyền
Việc tổ chức người dùng thành các nhóm là một phương pháp hiệu quả để quản lý quyền truy cập tệp và thư mục.
# Tạo nhóm mới sudo groupadd groupname # Thêm người dùng vào nhóm sudo usermod -aG groupname username # Thiết lập quyền sở hữu thư mục cho nhóm sudo chown -R :groupname /đường/dẫn/thư/mục sudo chmod -R g+rw /đường/dẫn/thư/mục
Kiểm Tra Và Xác Minh Cấu Hình User SSH
Sau khi tạo và cấu hình người dùng, điều quan trọng là phải kiểm tra xem mọi thứ có hoạt động như mong đợi không.
# Kiểm tra đăng nhập SSH ssh username@server_ip # Kiểm tra quyền sudo sudo ls -la /root # Kiểm tra các nhóm của người dùng groups username # Kiểm tra thông tin người dùng trong hệ thống id username
Các Biện Pháp Bảo Mật SSH Bổ Sung
Để tăng cường bảo mật cho tài khoản SSH, bạn nên xem xét những biện pháp bổ sung sau:
- Sử dụng xác thực hai yếu tố (2FA) cho SSH
- Thay đổi cổng SSH mặc định từ 22 sang một cổng khác
- Sử dụng fail2ban để chặn các nỗ lực đăng nhập không thành công
- Thiết lập thời gian chờ cho phiên SSH không hoạt động
- Vô hiệu hóa đăng nhập root trực tiếp qua SSH
Tạo và quản lý user trong SSH một cách hiệu quả là yếu tố quan trọng trong việc duy trì bảo mật hệ thống Linux. Bằng cách tuân theo các thực hành tốt nhất được nêu trong bài viết này, quản trị viên hệ thống có thể đảm bảo rằng truy cập SSH được cấu hình một cách an toàn và hiệu quả.