

Khi cần quản trị một máy chủ Linux từ xa, SSH là một trong những phương thức kết nối được sử dụng phổ biến nhất. Giao thức này giúp người dùng đăng nhập, chạy lệnh và trao đổi dữ liệu với server thông qua một kết nối được mã hóa.
Vậy SSH là gì, SSH hoạt động như thế nào và làm sao sử dụng SSH để kết nối với máy chủ? Hãy cùng tìm hiểu chi tiết trong bài viết dưới đây.
SSH (Secure Shell) là giao thức mạng được thiết kế để cung cấp khả năng đăng nhập từ xa và sử dụng các dịch vụ mạng một cách bảo mật trên những mạng không đáng tin cậy như Internet. SSH tạo ra một kênh giao tiếp mã hóa giữa máy người dùng và máy chủ, qua đó bảo vệ dữ liệu trong quá trình truyền.
Trong thực tế, SSH thường được sử dụng để truy cập và quản trị:

SSH không chỉ đơn thuần cung cấp cửa sổ terminal từ xa. Giao thức này có thể phục vụ nhiều hoạt động quản trị và vận hành hệ thống khác nhau.
Đây là ứng dụng phổ biến nhất của SSH. Sau khi kết nối thành công, quản trị viên có thể sử dụng command line trên máy chủ tương tự như đang thao tác trực tiếp.
Một số công việc thường được thực hiện qua SSH gồm:
SSH cho phép thực thi một lệnh trên server mà không nhất thiết phải mở một phiên terminal tương tác hoàn chỉnh.
Ví dụ:
ssh user@192.168.1.10 "uptime"Máy chủ sẽ thực thi lệnh uptime và gửi kết quả trở lại cho người dùng.
Khả năng này đặc biệt hữu ích trong các script tự động hóa, hệ thống DevOps và quy trình triển khai ứng dụng.
Các công cụ như SFTP và SCP có thể tận dụng kết nối SSH để truyền dữ liệu giữa máy local và server.
Nhờ đó, người dùng có thể upload source code, download log hoặc trao đổi file mà dữ liệu vẫn được truyền qua kênh được bảo vệ.
SSH cũng hỗ trợ port forwarding, cho phép chuyển tiếp lưu lượng mạng thông qua kênh SSH.
SSH Tunnel có thể được sử dụng trong các trường hợp như:
Đây là một chức năng chuyên sâu của SSH và nên được triển khai thành nội dung riêng.
Một kết nối SSH thông thường bao gồm hai phía chính: SSH Client và SSH Server.
SSH Client là phần mềm chạy trên thiết bị của người dùng, chịu trách nhiệm khởi tạo kết nối đến máy chủ.
Một trong những SSH Client phổ biến là chương trình ssh thuộc bộ OpenSSH. Công cụ này cho phép đăng nhập vào máy tính từ xa, thực thi lệnh và chuyển tiếp các kết nối khác thông qua kênh được mã hóa.
SSH Server là dịch vụ chạy trên máy chủ và chờ các yêu cầu kết nối từ client. Trong OpenSSH, thành phần phía server thường là sshd (OpenSSH Daemon). Dịch vụ này tiếp nhận kết nối đến, thực hiện trao đổi khóa, mã hóa, xác thực người dùng và xử lý phiên làm việc.
SSH Key là cặp khóa mật mã được sử dụng để xác thực người dùng khi kết nối SSH.
Thông thường một cặp SSH Key gồm:
Server kiểm tra xem client có chứng minh được mình sở hữu private key tương ứng với public key đã được cấp quyền hay không. Private key không cần gửi trực tiếp qua mạng để thực hiện quá trình xác thực.
SSH (Secure Shell) hoạt động bằng cách thiết lập một kênh truyền dữ liệu bảo mật giữa máy khách (client) và máy chủ (server) dựa trên sự kết hợp chặt chẽ giữa bộ giao thức TCP/IP và mật mã hóa khóa công khai (Public Key Cryptography).
Quy trình hoạt động cốt lõi của SSH diễn ra qua 3 giai đoạn chính:
SSH chạy trực tiếp trên ngăn xếp giao thức TCP/IP — nền tảng vận chuyển gói tin chính của mạng Internet.
Thay vì sử dụng giao thức UDP (vốn ưu tiên tốc độ nhưng dễ thất lạc dữ liệu như một số cơ chế tunneling khác), SSH sử dụng TCP để đảm bảo mọi gói tin được truyền đi chính xác, toàn vẹn và theo đúng thứ tự.
Cốt lõi tính an toàn của SSH đến từ công nghệ mã hóa kết hợp:
Điểm khác biệt giữa SSH và HTTPS: Đa số các kết nối HTTPS thông thường chỉ xác thực danh tính của máy chủ (web server) đối với trình duyệt. Ngược lại, SSH luôn thực hiện xác thực hai chiều, cho phép người dùng thao tác trực tiếp trên giao diện dòng lệnh (CLI), đồng thời cổng SSH thường được các tường lửa doanh nghiệp kiểm soát nghiêm ngặt hơn cổng web HTTPS.
Sau khi thiết bị được xác minh và kênh truyền mã hóa hoàn tất, SSH yêu cầu bước kiểm tra cuối cùng: xác thực tài khoản người dùng.
Thao tác này thường được thực hiện qua việc nhập tên người dùng (username) cùng mật khẩu (password) hoặc sử dụng trực tiếp SSH Key.
Khi hoàn tất xác thực, người dùng toàn quyền điều khiển và thực thi câu lệnh trên máy chủ từ xa hệt như đang thao tác trực tiếp trên máy tính cá nhân của mình.
Sau khi đăng nhập thành công, các lệnh Linux được thực thi trực tiếp trên máy chủ.
Kiểm tra thông tin hệ thống:
uname -aKiểm tra CPU và tiến trình:
topKiểm tra RAM:
free -hKiểm tra dung lượng ổ đĩa:
df -hLiệt kê file:
ls -laKiểm tra trạng thái dịch vụ:
systemctl status nginxThoát khỏi phiên SSH:
exitCác lệnh cụ thể sẽ phụ thuộc vào hệ điều hành và quyền của tài khoản đang sử dụng.

Giao thức SSH hỗ trợ nhiều cơ chế xác thực danh tính người dùng trước khi cấp quyền truy cập, từ các phương thức truyền thống đến các giải pháp cấp doanh nghiệp.
Người dùng nhập trực tiếp tên tài khoản và mật khẩu của hệ thống. Mật khẩu được mã hóa và truyền qua kênh bảo mật SSH đã thiết lập. Ưu điểm lớn nhất là tính đơn giản, không cần cấu hình phía máy trạm, nhưng nhược điểm là dễ bị tấn công dò quét mã (brute-force) nếu máy chủ mở cổng ra mạng Internet công cộng.
Đây là tiêu chuẩn bảo mật phổ biến nhất hiện nay, hoạt động dựa trên mật mã bất đối xứng. Khóa công khai (Public Key) được lưu trên máy chủ tại tệp ~/.ssh/authorized_keys, còn khóa riêng tư (Private Key) được lưu bí mật trên máy trạm của người dùng. Khi đăng nhập, máy chủ gửi một thử thách ngẫu nhiên để máy trạm ký bằng khóa riêng tư và gửi lại để xác minh. Phương thức này miễn nhiễm với tấn công đoán mật khẩu, đặc biệt an toàn khi sử dụng các thuật toán hiện đại như Ed25519 hoặc RSA từ 2048-bit trở lên.
Cơ chế này phát triển từ Public Key nhưng khóa riêng tư được tạo và lưu trữ cố định bên trong chip bảo mật của thiết bị vật lý như YubiKey. Người dùng không thể sao chép khóa ra ngoài và bắt buộc phải thao tác vật lý (như chạm tay vào thiết bị hoặc nhập mã PIN) khi đăng nhập. Đây là phương thức có mức độ an toàn cao nhất, ngăn chặn tối đa nguy cơ rò rỉ khóa ngay cả khi máy trạm bị nhiễm mã độc.
Hệ thống sử dụng một máy chủ thẩm quyền chứng thực nội bộ (SSH Certificate Authority - CA). CA sẽ ký điện tử vào khóa công khai của người dùng để tạo ra một chứng chỉ SSH có giới hạn thời gian sử dụng cụ thể. Máy chủ chỉ cần cấu hình tin tưởng Public Key của CA mà không cần lưu khóa của từng người dùng. Giải pháp này giúp loại bỏ hoàn toàn việc phân phối khóa thủ công, rất phù hợp cho doanh nghiệp có quy mô lớn hoặc hạ tầng triển khai tự động.
Máy chủ sẽ gửi các truy vấn dạng chuỗi văn bản về máy trạm để người dùng phản hồi. Phương thức này thường được tích hợp với các mô-đun PAM để thiết lập xác thực đa yếu tố (MFA), yêu cầu người dùng nhập thêm mã OTP từ các ứng dụng như Google Authenticator hoặc kiểm tra tài khoản qua dịch vụ xác thực tập trung như LDAP.
Cơ chế này vận hành theo mô hình phát vé (Ticket-based) thông qua một máy chủ xác thực trung tâm (KDC). Người dùng chỉ cần đăng nhập một lần trên máy trạm nội bộ là có thể SSH vào bất kỳ máy chủ nào thuộc vùng tin cậy mà không phải nhập lại mật khẩu hay thiết lập khóa riêng lẻ, hỗ trợ tính năng đăng nhập một lần (Single Sign-On) phổ biến trong các mạng doanh nghiệp dùng Active Directory.
SSH được thiết kế để cung cấp kết nối từ xa bảo mật thông qua cơ chế xác thực, trao đổi khóa, mã hóa và kiểm tra tính toàn vẹn của dữ liệu.
Tuy nhiên, việc sử dụng SSH không đồng nghĩa server sẽ tự động an toàn.
Rủi ro vẫn có thể xuất hiện nếu:
Do đó, bảo mật SSH còn phụ thuộc đáng kể vào cách quản trị hệ thống.
Đối với hệ thống quan trọng, nên cân nhắc sử dụng public key authentication thay vì chỉ dựa vào password.
Private key cần được xem như một thông tin xác thực quan trọng. Chỉ người được cấp quyền mới nên có quyền truy cập file này.
Thay vì quản trị server trực tiếp bằng tài khoản root, có thể sử dụng tài khoản riêng và chỉ cấp quyền sudo khi cần thiết.

Firewall hoặc các chính sách mạng có thể giới hạn SSH chỉ được phép truy cập từ những địa chỉ IP hoặc mạng quản trị cần thiết.
Biện pháp này giúp giảm đáng kể bề mặt tấn công so với việc để SSH mở cho tất cả nguồn trên Internet.
Log SSH có thể cung cấp thông tin về:
Theo dõi thường xuyên giúp phát hiện các hành vi thử mật khẩu hoặc đăng nhập bất thường.
Các thành phần SSH trên server cần được cập nhật cùng hệ điều hành để nhận bản vá lỗi và cải tiến bảo mật mới.
Đổi SSH từ port 22 sang port khác có thể làm giảm một phần lưu lượng quét tự động, nhưng không thay thế cho SSH Key, firewall, kiểm soát quyền truy cập và các biện pháp xác thực mạnh.
SSH và Telnet đều có thể được sử dụng để truy cập hệ thống từ xa nhưng khác biệt lớn nhất nằm ở khả năng bảo mật.
Tiêu chí | SSH | Telnet |
| Tên đầy đủ | Secure Shell | Telnet |
| Port thường dùng | 22 | 23 |
| Mã hóa | Có | Không có mã hóa tích hợp |
| Bảo vệ thông tin đăng nhập | Có | Hạn chế |
| Quản trị server Internet | Phù hợp | Không nên sử dụng cho dữ liệu nhạy cảm |
| Xác thực bằng key | Có | Không |
| Port forwarding | Có | Không phải chức năng cốt lõi |
IANA đăng ký SSH với port 22 và Telnet với port 23.
Trong môi trường server hiện đại, SSH thường được sử dụng thay cho các giao thức đăng nhập từ xa không cung cấp cơ chế mã hóa tương đương.
Hai khái niệm này thường bị sử dụng lẫn nhau nhưng không hoàn toàn giống nhau.
SSH là giao thức quy định cách các hệ thống thiết lập kết nối từ xa bảo mật.
OpenSSH là một bộ phần mềm triển khai SSH.
OpenSSH hiện cung cấp nhiều công cụ như:
Do OpenSSH được sử dụng rộng rãi trên các hệ điều hành Unix/Linux và nhiều nền tảng khác, người dùng thường gặp lệnh ssh khi quản trị máy chủ.
Cloud Server thường được vận hành từ xa thay vì thông qua màn hình và bàn phím vật lý tại trung tâm dữ liệu. Vì vậy, SSH đóng vai trò quan trọng trong quá trình quản trị các máy chủ Linux trên Cloud.
Sau khi khởi tạo Cloud Server, quản trị viên có thể sử dụng IP Public hoặc mạng quản trị phù hợp để SSH vào máy chủ và:
SSH Key cũng đặc biệt phù hợp với môi trường Cloud vì giúp quản trị nhiều server mà không phải phụ thuộc hoàn toàn vào password.
Để tăng mức độ bảo mật, doanh nghiệp nên kết hợp SSH với các biện pháp như firewall, phân quyền người dùng, kiểm soát IP truy cập, quản lý SSH Key và giám sát hoạt động trên server.
SSH là viết tắt của Secure Shell, một giao thức hỗ trợ đăng nhập và sử dụng các dịch vụ mạng từ xa thông qua kết nối bảo mật.
SSH được đăng ký với port 22 và đây cũng là port mặc định thường gặp trên SSH Server. Quản trị viên có thể cấu hình dịch vụ sử dụng port khác nếu cần.
SSH Key là cặp public key và private key được sử dụng để xác thực khi kết nối SSH. Public key được đưa lên server còn private key cần được giữ bí mật ở phía người dùng.
Không nhất thiết. SSH chỉ cần client có khả năng kết nối mạng đến server. Hai thiết bị có thể SSH với nhau qua Internet, mạng LAN, VPN hoặc một mạng private khác.
Có. Windows 10 và Windows 11 hỗ trợ OpenSSH Client, cho phép chạy SSH trực tiếp từ PowerShell hoặc Windows Terminal.
Không. SSH là giao thức cung cấp kết nối từ xa bảo mật và có thể thực hiện tunneling. VPN thường tạo kết nối mạng riêng ở phạm vi rộng hơn để định tuyến lưu lượng giữa thiết bị hoặc các mạng.
SSH là giao thức kết nối từ xa bảo mật, được sử dụng rộng rãi trong quản trị Linux Server, VPS và Cloud Server. Thông qua SSH, quản trị viên có thể đăng nhập server, chạy lệnh, truyền dữ liệu hoặc triển khai ứng dụng mà không cần truy cập trực tiếp vào máy chủ vật lý.
Khi vận hành Cloud Server, nên kết hợp SSH Key, phân quyền tài khoản, firewall và các chính sách kiểm soát truy cập phù hợp để tăng cường bảo mật hệ thống.
Với VNPT Cloud Server, doanh nghiệp có thể chủ động triển khai hạ tầng máy chủ đám mây linh hoạt theo nhu cầu, đồng thời kết hợp các giải pháp mạng, bảo mật, sao lưu và vận hành để xây dựng môi trường ứng dụng ổn định và an toàn.
