OpenSSH Server là công cụ quản trị từ xa phổ biến nhất hiện nay, cho phép kết nối an toàn đến máy chủ thông qua giao thức SSH. Việc nắm vững cách cài OpenSSH Server giúp quản trị viên hệ thống và lập trình viên kiểm soát máy chủ từ xa một cách hiệu quả. Bài viết này cung cấp hướng dẫn toàn diện từ cài đặt cơ bản đến cấu hình nâng cao trên ba nền tảng chính.
OpenSSH Server là gì và tại sao cần cài đặt?

OpenSSH (Open Secure Shell) là bộ công cụ mã nguồn mở sử dụng giao thức SSH để mã hóa toàn bộ phiên kết nối mạng. Khi cài OpenSSH Server, máy tính trở thành máy chủ SSH, cho phép người dùng đăng nhập từ xa, truyền tệp an toàn và thực thi lệnh từ xa.
Giao thức SSH thay thế các giao thức không an toàn như Telnet, rlogin và FTP. Dữ liệu truyền qua SSH được mã hóa đầu cuối, ngăn chặn nghe lén và tấn công trung gian. OpenSSH Server hỗ trợ xác thực bằng mật khẩu, khóa công khai và xác thực hai yếu tố.
Yêu cầu hệ thống trước khi cài OpenSSH Server
Trước khi thực hiện cách cài OpenSSH Server, cần đảm bảo hệ thống đáp ứng các yêu cầu sau:
- Hệ điều hành: Windows 10/11 (bản 1809 trở lên), Windows Server 2019/2022, Linux (Ubuntu 20.04+, CentOS 7+, Debian 10+) hoặc macOS 10.14+
- Quyền quản trị: Tài khoản có quyền Administrator (Windows) hoặc root/sudo (Linux/macOS)
- Kết nối mạng: Địa chỉ IP tĩnh hoặc DHCP với port 22 mở trên tường lửa
- Dung lượng ổ đĩa: Tối thiểu 50MB cho bản cài đặt cơ bản
- Mở Settings (Windows + I) và chọn Apps
- Chọn Optional Features
- Nhấn Add a feature và tìm kiếm “OpenSSH Server”
- Chọn OpenSSH Server và nhấn Install
- Đợi quá trình cài đặt hoàn tất (thường 1-2 phút)
- Kiểm tra trạng thái: Get-WindowsCapability -Online | Where-Object Name -like ‘OpenSSH.Server*’
- Cài đặt: Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
- Khởi động dịch vụ: Start-Service sshd
- Cấu hình tự động khởi động: Set-Service -Name sshd -StartupType ‘Automatic’
- Mở Control Panel và chọn Windows Defender Firewall
- Chọn Advanced Settings và tạo Inbound Rule mới
- Chọn Port, nhập 22, chọn TCP và Allow the connection
- Đặt tên rule là “OpenSSH Server (SSH)” và hoàn tất
- Cập nhật danh sách gói: sudo apt update
- Cài đặt OpenSSH Server: sudo apt install openssh-server -y
- Kiểm tra trạng thái: sudo systemctl status ssh
- Khởi động dịch vụ: sudo systemctl start ssh
- Kích hoạt tự động khởi động: sudo systemctl enable ssh
- Cài đặt: sudo yum install openssh-server -y (CentOS 7) hoặc sudo dnf install openssh-server -y (Fedora)
- Khởi động dịch vụ: sudo systemctl start sshd
- Kích hoạt tự động: sudo systemctl enable sshd
- Kiểm tra: sudo systemctl status sshd
- Ubuntu/Debian với UFW: sudo ufw allow ssh hoặc sudo ufw allow 22/tcp
- CentOS/RHEL với firewalld: sudo firewall-cmd –permanent –add-service=ssh và sudo firewall-cmd –reload
- Mở System Settings và chọn General
- Chọn Sharing và bật Remote Login
- Chọn Allow full disk access for remote users nếu cần
- Xác nhận địa chỉ IP hiển thị trong cửa sổ để kết nối từ xa
- Windows: C:ProgramDatasshsshd_config
- Linux: /etc/ssh/sshd_config
- macOS: /etc/ssh/sshd_config
- Windows: Restart-Service sshd
- Linux: sudo systemctl restart ssh
- macOS: sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist && sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist
- Trên máy client: ssh-keygen -t ed25519 -C “email@example.com”
- Lưu khóa tại ~/.ssh/id_ed25519 (mặc định)
- Đặt passphrase bảo vệ khóa riêng tư
- ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server_ip
- Nếu không có ssh-copy-id, thủ công: cat ~/.ssh/id_ed25519.pub | ssh user@server_ip “mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys”
- Phân quyền chính xác: chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys
- Thay đổi port mặc định 22 thành port khác (ví dụ 2222)
- Tắt đăng nhập root: PermitRootLogin no
- Chỉ cho phép xác thực khóa: PasswordAuthentication no
- Giới hạn người dùng: AllowUsers specific_user
- Sử dụng fail2ban để chặn tấn công brute force
- Cập nhật OpenSSH thường xuyên để vá lỗ hổng
- Cài đặt: sudo apt install fail2ban (Ubuntu) hoặc sudo yum install fail2ban (CentOS)
- Tạo tệp cấu hình: sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
- Cấu hình SSH: [sshd] enabled = true, port = ssh, filter = sshd, logpath = /var/log/auth.log, maxretry = 5, bantime = 3600
- Khởi động: sudo systemctl start fail2ban && sudo systemctl enable fail2ban
Cách cài OpenSSH Server trên Windows

Cài đặt OpenSSH Server qua Settings
Windows 10 và 11 tích hợp sẵn OpenSSH Server dưới dạng tính năng tùy chọn. Cách cài OpenSSH Server qua giao diện Settings như sau:
Cài đặt OpenSSH Server qua PowerShell
Quản trị viên có thể cài OpenSSH Server nhanh hơn bằng PowerShell với quyền Administrator:
Cấu hình tường lửa cho OpenSSH Server trên Windows
Sau khi cài OpenSSH Server, cần mở port 22 trên Windows Defender Firewall:
Lệnh PowerShell tương đương: New-NetFirewallRule -DisplayName ‘OpenSSH Server (SSH)’ -Direction Inbound -Protocol TCP -LocalPort 22 -Action Allow
Cách cài OpenSSH Server trên Linux
Cài OpenSSH Server trên Ubuntu/Debian
Ubuntu và Debian sử dụng trình quản lý gói APT. Cách cài OpenSSH Server trên các bản phân phối này rất đơn giản:
Cài OpenSSH Server trên CentOS/RHEL/Fedora
Các bản phân phối dựa trên Red Hat sử dụng trình quản lý gói YUM hoặc DNF:
Cấu hình tường lửa trên Linux
Sau khi cài OpenSSH Server, cần mở port 22 trên tường lửa:
Cách cài OpenSSH Server trên macOS

macOS tích hợp sẵn OpenSSH Server từ phiên bản macOS 10.14 Mojave. Cách cài OpenSSH Server trên macOS thực chất là kích hoạt dịch vụ có sẵn:
Người dùng nâng cao có thể kích hoạt qua Terminal: sudo systemsetup -setremotelogin on
Cấu hình cơ bản sau khi cài OpenSSH Server
Tệp cấu hình chính sshd_config
Sau khi cài OpenSSH Server, tệp cấu hình chính nằm tại:
Các tham số quan trọng cần điều chỉnh:
| Tham số | Giá trị mặc định | Khuyến nghị | Mô tả |
|---|---|---|---|
| Port | 22 | 2222 (tùy chọn) | Thay đổi port để giảm tấn công tự động |
| PermitRootLogin | prohibit-password | no | Vô hiệu hóa đăng nhập root trực tiếp |
| PasswordAuthentication | yes | no | Tắt xác thực mật khẩu, chỉ dùng khóa SSH |
| PubkeyAuthentication | yes | yes | Bật xác thực khóa công khai |
| AllowUsers | (trống) | user1 user2 | Giới hạn người dùng được phép SSH |
Khởi động lại dịch vụ sau khi thay đổi cấu hình
Mọi thay đổi trong sshd_config yêu cầu khởi động lại dịch vụ:
Xác thực bằng khóa SSH

Tạo cặp khóa SSH
Sau khi cài OpenSSH Server, bước tiếp theo là thiết lập xác thực khóa để tăng bảo mật:
Sao chép khóa công khai lên máy chủ
Sử dụng lệnh ssh-copy-id để sao chép khóa công khai:
Bảo mật OpenSSH Server sau khi cài đặt
Các biện pháp bảo mật cơ bản
Sau khi hoàn tất cách cài OpenSSH Server, cần áp dụng các biện pháp bảo mật sau:
Cấu hình fail2ban cho SSH
Fail2ban là công cụ giám sát log và chặn IP có hành vi đáng ngờ:
Sai lầm thường gặp khi cài OpenSSH Server

Quên mở port trên tường lửa
Sau khi cài OpenSSH Server, nhiều người dùng không mở port 22 trên tường lửa, dẫn đến không thể kết nối từ xa. Kiểm tra bằng lệnh: sudo ufw status (Linux) hoặc kiểm tra Windows Firewall rules.
Sử dụng port mặc định không an toàn
Port 22 là mục tiêu của các cuộc tấn công tự động. Thay đổi port thành giá trị từ 1024 đến 65535 giúp giảm đáng kể số lượng tấn công.
Không vô hiệu hóa đăng nhập root
Để PermitRootLogin yes là rủi ro bảo mật lớn. Luôn đặt PermitRootLogin no và sử dụng tài khoản thường với sudo.
Bỏ qua xác thực khóa SSH
Chỉ dùng mật khẩu để xác thực SSH dễ bị tấn công brute force. Kết hợp khóa SSH với passphrase là phương pháp an toàn hơn.
So sánh OpenSSH Server với các giải pháp khác
| Tính năng | OpenSSH Server | Telnet Server | RDP (Windows) | VNC |
|---|---|---|---|---|
| Mã hóa | Có (mạnh) | Không | Có | Có (tùy chọn) |
| Nền tảng | Windows, Linux, macOS | Đa nền tảng | Windows | Đa nền tảng |
| Xác thực khóa | Có | Không | Không | Không |
| Truyền tệp | SFTP, SCP | Không | Có | Không |
| Bảo mật mặc định | Cao | Thấp | Trung bình | Thấp |
Ứng dụng thực tế của OpenSSH Server
Quản trị máy chủ từ xa
Sau khi cài OpenSSH Server, quản trị viên có thể quản lý máy chủ từ bất kỳ đâu. Các tác vụ như cập nhật phần mềm, kiểm tra log, khởi động lại dịch vụ đều thực hiện qua SSH.
Truyền tệp an toàn với SFTP và SCP
OpenSSH Server tích hợp SFTP (SSH File Transfer Protocol) và SCP (Secure Copy). SFTP cho phép duyệt thư mục, tải lên và tải xuống tệp qua giao diện dòng lệnh hoặc công cụ đồ họa như FileZilla.
Tạo đường hầm SSH (SSH Tunneling)
SSH tunneling cho phép chuyển tiếp cổng an toàn, truy cập dịch vụ nội bộ qua kết nối mã hóa. Ví dụ: ssh -L 8080:localhost:80 user@server tạo đường hầm đến web server nội bộ.
Tự động hóa tác vụ với SSH
Kết hợp SSH với script bash hoặc PowerShell giúp tự động hóa sao lưu, đồng bộ dữ liệu và triển khai ứng dụng. Công cụ như Ansible, Puppet sử dụng SSH để quản lý cấu hình.
Câu hỏi thường gặp về cách cài OpenSSH Server
Làm thế nào để kiểm tra OpenSSH Server đã cài thành công?
Sau khi cài OpenSSH Server, kiểm tra bằng lệnh: ssh localhost trên cùng máy. Nếu kết nối thành công, dịch vụ hoạt động bình thường. Trên Windows, dùng lệnh Get-Service sshd để kiểm tra trạng thái.
Có thể cài OpenSSH Server trên Windows 10 Home không?
Có, Windows 10 Home hỗ trợ cài OpenSSH Server thông qua Optional Features. Tuy nhiên, một số tính năng quản trị nâng cao có thể bị giới hạn.
Tại sao không thể kết nối SSH sau khi cài OpenSSH Server?
Nguyên nhân phổ biến: tường lửa chặn port 22, dịch vụ chưa khởi động, sai địa chỉ IP hoặc port, hoặc cấu hình sshd_config sai. Kiểm tra từng bước: trạng thái dịch vụ, tường lửa, và log lỗi trong /var/log/auth.log (Linux) hoặc sự kiện Windows.
Cách thay đổi port SSH sau khi cài OpenSSH Server?
Mở tệp sshd_config, tìm dòng #Port 22, bỏ comment và thay 22 bằng port mong muốn. Khởi động lại dịch vụ và cập nhật tường lửa cho port mới.
OpenSSH Server có an toàn cho môi trường production không?
OpenSSH Server được sử dụng rộng rãi trong môi trường production nhờ bảo mật cao. Tuy nhiên, cần cấu hình đúng: tắt đăng nhập root, chỉ dùng xác thực khóa, cập nhật thường xuyên và giám sát log.
Kết luận
Cách cài OpenSSH Server không phức tạp nhưng đòi hỏi hiểu biết về cấu hình và bảo mật. Trên Windows, quá trình cài đặt qua Settings hoặc PowerShell nhanh chóng và trực quan. Trên Linux, lệnh apt hoặc yum giúp cài đặt trong vài giây. macOS kích hoạt Remote Login từ System Settings.
Sau khi cài OpenSSH Server, việc cấu hình bảo mật là bước quan trọng nhất. Thay đổi port mặc định, vô hiệu hóa đăng nhập root, thiết lập xác thực khóa SSH và sử dụng fail2ban giúp bảo vệ máy chủ khỏi tấn công. OpenSSH Server là công cụ không thể thiếu cho quản trị hệ thống, phát triển phần mềm và vận hành hạ tầng công nghệ thông tin hiện đại.







