Cách kết nối máy chủ Linux qua SSH
Kết nối SSH cần thiết khi bạn muốn mở terminal của máy chủ Linux, cài gói, xem log, khởi động lại dịch vụ hoặc tải một dự án lên máy chủ. Ở lần truy cập đầu tiên, bạn không cần bắt đầu bằng một phần lý thuyết dài: thông thường chỉ cần một lệnh và thông tin đăng nhập chính xác.
Sau đây, chúng ta sẽ bắt đầu bằng cách nhanh nhất, rồi xem các lưu ý ngắn cho Windows, Linux và macOS, những lỗi thường gặp và các nguyên tắc bảo mật cơ bản.
Cách nhanh chóng kết nối máy chủ Linux qua SSH
Nếu đã có địa chỉ IP máy chủ, tên người dùng và mật khẩu hoặc khóa, bạn không cần chuẩn bị nhiều. Trong phần lớn trường hợp, lần truy cập đầu tiên được thực hiện bằng lệnh:
ssh username@server_ipNếu dịch vụ SSH lắng nghe trên cổng khác cổng mặc định, hãy chỉ định cổng bằng -p:
ssh -p 2222 username@server_ipNếu máy chủ được cấu hình để nhận khóa, hãy chỉ rõ đường dẫn đến khóa riêng:
ssh -i ~/.ssh/id_ed25519 username@server_ipNhư vậy là đủ để vào máy chủ và bắt đầu làm việc. Sau đó, bạn nên hiểu rõ cần những thông tin gì, kết nối khác nhau ra sao trên từng hệ điều hành và làm thế nào để bảo vệ truy cập tốt hơn.
Cần gì để kết nối
SSH, hay Secure Shell, là phương thức bảo mật để mở dòng lệnh của máy chủ từ xa. Để kết nối lần đầu, thông thường bạn cần:
- địa chỉ IP máy chủ hoặc tên miền;
- tên người dùng, chẳng hạn
root,ubuntu,adminhoặc tài khoản khác; - mật khẩu hoặc khóa riêng SSH;
- cổng SSH nếu không dùng cổng mặc định
22; - SSH đã được bật trên chính máy chủ.
Sau khi đăng nhập, bạn sẽ ở trong terminal của máy chủ Linux từ xa và có thể chạy lệnh như đang làm việc trên máy cục bộ.
Nếu máy chủ sử dụng khóa
Khi đăng nhập bằng khóa, máy chủ kiểm tra xem khóa riêng có khớp với khóa công khai đã được thêm vào máy chủ hay không. Trong trường hợp này, bạn thậm chí có thể không cần dùng mật khẩu. Đây là lựa chọn an toàn và thuận tiện hơn cho công việc thường xuyên.
Quy trình thường là:
- tạo khóa trên máy tính của bạn;
- thêm khóa công khai vào máy chủ;
- kết nối bằng
sshmà không phải nhập mật khẩu mỗi lần.
Để tạo khóa trên Linux và macOS, bạn thường dùng:
ssh-keygen -t ed25519Cách kết nối trên Linux và macOS
Trên Linux và macOS, SSH thường đã được cài sẵn. Mở terminal và chạy:
ssh username@server_ipNếu cần cổng khác:
ssh -p 2222 username@server_ipNếu kết nối bằng khóa, hãy dùng:
ssh -i ~/.ssh/id_ed25519 username@server_ipSau lần đăng nhập đầu tiên, bạn nên ngay lập tức xác nhận mình đã vào đúng máy chủ:
hostname
whoamiĐây là thói quen đơn giản nhưng quan trọng, nhất là khi bạn quản trị nhiều máy chủ và môi trường.
Cách kết nối trên Windows
Trên Windows có hai cách phù hợp: OpenSSH tích hợp trong PowerShell hoặc Windows Terminal, hoặc một ứng dụng riêng như PuTTY. Với phần lớn tác vụ, lựa chọn tích hợp là cách dễ bắt đầu hơn.
Mở PowerShell và chạy:
ssh username@server_ipNếu cổng không phải cổng mặc định:
ssh -p 2222 username@server_ipNếu dùng khóa, hãy chỉ rõ đường dẫn:
ssh -i $env:USERPROFILE\.ssh\id_ed25519 username@server_ipTrong PuTTY, logic cũng giống vậy: nhập địa chỉ, cổng và người dùng; khi xác thực bằng khóa, tải khóa .ppk trong phần cài đặt của ứng dụng.
Kiểm tra gì trên Windows khi SSH không khởi động
Đôi khi ứng dụng SSH tích hợp chưa được cài. Khi đó, hãy bật thành phần OpenSSH Client trong cài đặt Windows hoặc tạm thời dùng PuTTY.
Những lỗi kết nối thường gặp
Trong đa số trường hợp, vấn đề không nằm ở lệnh mà ở một trong các tham số.
Connection refused
Thông báo này thường có nghĩa dịch vụ SSH chưa chạy trên máy chủ hoặc cổng đang bị đóng. Hãy kiểm tra sshd có hoạt động không và cổng cần thiết đã được mở trong tường lửa cũng như bảng điều khiển máy chủ chưa.
Permission denied
Thông thường, người dùng, mật khẩu hoặc khóa không đúng. Hãy kiểm tra:
- thông tin đăng nhập chính xác;
- đường dẫn đúng tới khóa;
- khóa công khai đã có trên máy chủ;
- khóa đó khớp với khóa máy chủ yêu cầu.
Host key verification failed
Thông báo này liên quan đến known_hosts, danh sách các máy chủ đã biết. Nó có thể xuất hiện sau khi cài lại hệ thống, đổi IP hoặc tạo lại máy chủ. Nếu chắc chắn đang truy cập đúng máy, hãy xóa mục cũ:
ssh-keygen -R server_ipSau đó kết nối lại và xác nhận khóa mới của máy chủ.
Could not resolve hostname
Điều này có nghĩa tên máy chủ chưa được tìm thấy trong DNS hoặc địa chỉ đã nhập sai. Để kiểm tra, hãy thử kết nối bằng IP.
Cách kết nối an toàn hơn
SSH vốn đã được bảo vệ, nhưng một số thiết lập cơ bản có thể giảm đáng kể rủi ro và bớt tiếng ồn trong log.
Dùng khóa SSH thay vì mật khẩu
Xác thực bằng khóa thường an toàn hơn mật khẩu và thuận tiện hơn khi làm việc thường xuyên. Nếu máy chủ đã sẵn sàng nhận khóa, hãy ưu tiên dùng ngay từ đầu.
Vô hiệu hóa truy cập root
Không cần đăng nhập trực tiếp bằng root cho công việc hằng ngày. An toàn hơn là kết nối bằng người dùng thông thường và chỉ nâng quyền bằng sudo khi cần.
Đổi cổng mặc định như một biện pháp bổ sung
Cổng 22 có thể đổi sang cổng khác, chẳng hạn 2222. Việc này không làm máy chủ biến mất khỏi các cuộc tấn công, nhưng giảm số lần quét ngẫu nhiên và bot chỉ tìm cổng mặc định.
Kiểm tra known_hosts
Khi SSH cảnh báo khóa máy chủ đã thay đổi, đừng bỏ qua. Đôi khi nguyên nhân vô hại, nhưng cũng có thể là dấu hiệu máy chủ bị thay thế. Nếu máy chủ thực sự được cài lại hoặc đổi, hãy xác nhận trước trong bảng điều khiển hoặc với quản trị viên, rồi mới cập nhật mục trong known_hosts.
Mối liên hệ với việc chọn máy chủ
Khi thuê VPS hoặc máy chủ dedicated, SSH trở thành kênh làm việc chính. Qua đó, bạn cài gói, cập nhật hệ thống, triển khai Docker, xem log và kiểm tra trạng thái dịch vụ. Khi truy cập hoạt động ổn định, bạn có thể dành thời gian cho dự án thay vì xử lý các lỗi đăng nhập khó hiểu.
Vì vậy, khi chọn hosting, đừng chỉ đánh giá CPU, RAM và ổ đĩa. Bạn cũng nên kiểm tra tốc độ nhận thông tin SSH rõ ràng, xem thông số máy chủ và bắt đầu quản trị. Với nhu cầu này, tropic.host là lựa chọn thực tế để nhanh chóng bắt đầu với VPS mà không cần chuẩn bị thừa.
Kết luận
Kết nối máy chủ Linux qua SSH thường khá đơn giản: bạn cần địa chỉ, người dùng và mật khẩu hoặc khóa. Trên Linux và macOS, chỉ cần terminal; trên Windows, có thể dùng OpenSSH tích hợp hoặc PuTTY. Nếu kết nối thất bại, trước tiên hãy kiểm tra cổng, thông tin đăng nhập, khóa và known_hosts, rồi mới xem đến cấu hình máy chủ. Khi dùng lâu dài, nên ưu tiên khóa SSH, tắt đăng nhập root và dùng cổng không mặc định như một lớp bảo vệ bổ sung.
FAQ
Nên dùng lệnh SSH nào ở lần truy cập đầu tiên?
Thông thường chỉ cần ssh username@server_ip. Nếu SSH dùng cổng khác, hãy thêm -p.
Có thể kết nối máy chủ Linux qua SSH trên Windows không?
Có. Cách đơn giản nhất là dùng PowerShell hoặc Windows Terminal với lệnh ssh tích hợp. Lựa chọn khác là PuTTY.
Làm gì khi SSH yêu cầu xác nhận khóa mới của máy chủ?
Nếu máy chủ vừa được cài lại hoặc IP đã thay đổi thì đây là điều bình thường. Nếu không biết lý do, trước tiên hãy xác nhận bạn đang kết nối đúng máy.
Vì sao nên dùng khóa SSH thay vì mật khẩu?
Khóa thuận tiện hơn khi làm việc thường xuyên và thường an toàn hơn mật khẩu. Nó giảm rủi ro bị đoán mật khẩu và cho phép đăng nhập mà không phải nhập lại mật khẩu.
Có bắt buộc đổi cổng SSH không?
Không. Đổi cổng không bắt buộc, nhưng là một lớp bổ sung giúp giảm các lượt quét tự động quy mô lớn.
