Hướng dẫn Linux Phần mềm

Cài đặt SSH trên Ubuntu Server

SSH là một chương trình tương tác giữa máy chủ và máy khách có sử dụng cơ chế mã hoá đủ mạnh nhằm ngăn chặn các hiện tượng nghe trộm, đánh cắp thông tin trên đường truyền. Các chương trình trước đây: telnet, rlogin không sử dụng phương pháp mã hoá. Vì thế bất cứ ai cũng có thể nghe trộm thậm chí đọc được toàn bộ nội dung của phiên làm việc bằng cách sử dụng một số công cụ đơn giản. Sử dụng SSH là biện pháp hữu hiệu bảo mật dữ liệu trên đường truyền từ hệ thống này đến hệ thống khác.

Bước 1: Kiểm tra xem package openssh-server đã cài chưa bằng lệnh dpkg -l | grep “openssh-server”

Nếu xuất hiện như hình là đã cài rồi. Còn chưa thì các bạn hãy cài đặt bằng lệnh apt-get install openssh-server -y

Bước 2: Chỉnh sửa cấu hình file ssh. Các bạn gõ một trong 2 lệnh sau để mở file cấu hình

  1. vi /etc/ssh/sshd_config
  2. nano /etc/ssh/sshd_config

Mình có đặt 1 file cấu hình mẫu tại đây. Các bạn xem thử: File cấu hình mẫu

Các bạn có thể chỉnh một số cấu hình như sau. Những dòng có dấu # ở đầu là bị disable. Muốn thiết lập có hiệu lực thì phải xóa dấu # đi

Sau khi chỉnh sửa song, lưu file lại và gõ lệnh services ssh restart để thiết đặt thay đổi có hiệu lực

1. Sửa port kết nối SSH

  • Các bạn sửa ở dòng
  • # What ports, IPs and protocols we listen for
  • Port 22
  • Mặc định là port 22. Các bạn có thể sửa sang port khác. Để chống một số hình thức tấn công dò tìm password

2. Xác thực bằng RSA Keys

  • Các bạn tìm tới các dòng
  • # Authentication:
  • LoginGraceTime 120
  • PermitRootLogin prohibit-password
  • StrictModes yes
  • RSAAuthentication yes
  • PubkeyAuthentication yes
  • Đảm bảo 2 dòng in đậm được cài đặt là yes
  • AuthorizedKeysFile %h/.ssh/authorized_keys (Nếu dòng này có dấu # ở đầu thì xóa bỏ nhé)

Về xác thực sử dụng RSA Keys thì các bạn có thể coi sơ đồ hình dưới

Cách tạo và kết nối qua RSA Keys

Bước 1: Tải công cụ Putty về. Và cài vào máy. Lưu ý nếu cài bản Portable thì phải tải thêm puttygen.exe

Bước 2:

Bước 3:

Bước 4: Vào thư mục home của user được cấp quyền ssh. Sửa file .ssh/authorized_keys và paste toàn bộ đoạn code được gen ra vào (Nếu không có folder .ssh và file authorized_keys thì bạn tự tạo)

Bước 5: Gõ lệnh sudo chmod 600 .ssh/authorized_keys

Bước 6: Import Private Keys vào PuTTY

Bước 7: 

Bước 8: Login với User phù hợp

3. Xác thực bằng Password

  • Các bạn tìm tới các dòng
  • # Authentication:
  • LoginGraceTime 120
  • PermitRootLogin prohibit-password
  • StrictModes yes
  • RSAAuthentication yes
  • PubkeyAuthentication yes
  • PasswordAuthentication yes (Nếu là PasswordAuthentication no thì các bạn sửa thành yes. Không có thì các bạn chèn thêm vào)

Giờ đây các bạn chỉ cần connect với username và pass user thôi

4. Cho phép (Cấm) các user sử dụng ssh

Để cho phép một user sử dụng ssh. Các bạn chèn vào cuối file config dòng sau

  • AllowUsers User1 User2
  • VD AllowUsers Fred Wilma (Cho phép user Fred và Wilma dùng ssh)

Để cấm một user sử dụng ssh. Các bạn chèn vào cuối file config dòng sau

  • DenyUsers User 1 User2
  • VD DenyUsers Dino Pebbles  (Cấm User Dino và Pebbles dùng ssh)

5. Hiển thị banner khi kết nối

  • Tìm dòng
  • Banner /etc/issue.net (Bỏ dấu # ở đầu nếu có)
  • Sửa file /etc/issue.net với nội dung bạn muốn

6. Ghi log chi tiết hơn

Nếu bạn quan ngại về có ai đang định Hack hệ thống của bạn qua SSH (Như SSH Bruteforce) các bạn có thể bật chế độ ghi log chi tiết

  • Tìm dòng LogLevel INFO
  • Thay bằng dòng: LogLevel VERBOSE

Các bạn có thể đọc log ở file /var/log/auth.log

Hits: 513