SSH là gì ? Tìm hiểu chi tiết về giao thức SSH
SSH là một giao thức kết nối thay thế cho giao thức Telnet trước đó. Phương thức này có độ an toàn cao nên được các doanh nghiệp dù nhỏ hay lớn hay cá nhân đều sử dụng.
Công dụng chính của SSH đó chính là để kết nối truy cập từ thiết bị này sang thiết bị khác qua mạng. Với bài viết này, ITMaster.vn sẽ giúp các bạn hiểu rõ hơn về SSH là gì ? Cổng mặc định của SSH và cách thức hoạt động của nó.
SSH là gì ?
SSH là một giao thức mạng để truy cập máy chủ từ xa. Nó cung cấp một cách an toàn để tuân thủ thiết bị qua bất kỳ loại mạng không an toàn nào.
SSH không chỉ hỗ trợ việc kết nối an toàn mà SSH cũng có thể triển khai tiện ích qua giao thức SSH.
Các tính năng của SSH
Có nhiều tính năng liên quan đến SSH.
Các tính năng hữu ích của SSH.
- SSH cung cấp khả năng xác thực mật khẩu manh, các giao tiếp dữ liệu được mã hóa và xác thực khóa công khai.
- Giao thức SSH quản lý các hệ thống và ứng dụng từ xa, đồng thời cho phép người khác sử dụng máy tính khác và thực hiện các chức năng khác.
- Đây là giao thức mạng sử dụng mật mã và sử dụng mô hình Client – Server
- Giao thức SSH có thể tạo ra các tunnel cho các giao thức ứng dụng khác nhau. Các ứng dụng đó tiếp tục sử dụng để mô phỏng thiest bị đầu cuối hoặc để truyền tệp dữ liệu.
Port SSH là gì ?
Port mặc định của giao thức SSH là Port : 22 . Nếu các bạn là những người sử dụng các dịch vụ VPS hay Cloud của các nhà cung cấp thì sẽ không hề lạ với giao thức này. Bạn có thể sử dụng nó trên các ứng dụng Filezilla, Ftpcute… để kết nối tới máy chủ.
Mọi giao tiếp được thực hiện bởi ssh đều cần các cổng để kết nối và bắt đầu giao tiếp. Cho dù thiết bị có dây hay không dây, nó sẽ yêu cầu cổng SSH. Có sẵn hơn 65 nghìn cổng giao tiếp và bạn có thể bắt đầu giao tiếp bằng bất kỳ cổng nào trong số này. Tất cả giao tiếp được thực hiện theo số cổng mặc định, có thể thay đổi và đặt thành bất kỳ số cổng khả dụng nào khác. Bất cứ khi nào người dùng chạy lệnh Linux để bắt đầu giao tiếp giữa hai thiết bị qua mạng, kết nối sẽ sử dụng cổng SSH mặc định số 22.
Tuy nhiên, nếu bạn đang thực hiện kết nối quan trọng, thì bạn nên thay đổi số cổng ssh mặc định sang một số khác để tránh bị tấn công.
Ai cũng đều biết rằng 22 là số cổng ssh mặc định và dễ bị tấn công nhất và bất kỳ hacker nào cũng dều biết điều này.
SSH hoạt động như thế nào?
Giao thức SSH hoạt động theo mô hình máy Client – Server.
B1. Client sẽ thiết lập quy trình kết nối và sử dụng mật mã khóa công khai để xác minh danh tính của máy chủ SSH.
B2. Sau khi kết nối đã được thiết lập, giao thức SSH sẽ sử dụng các thuật toán băm và mã hóa đối xứng mạnh để đảm bảo quyền riêng tư và tính toàn vẹn của dữ liệu được truyền giữa máy khách và máy chủ.
Hình ảnh bên dưới sẽ hiển thị luồng dữ liệu của máy chủ và máy khách.

Thiết lập kết nối SSH
Để tạo kết nối SSH, bạn cần chạy một lệnh từ Client
ssh [username]@[server_ip_or_hostname]
Khi lệnh chạy, quá trình đàm phán mã hóa phiên sẽ bắt đầu.
Đàm phán mã hóa phiên
Khi yêu cầu đã được gửi đến máy chủ, máy chủ sẽ gửi cho máy khách một bộ giao thức mã hóa được máy chủ hỗ trợ.
Sau đó, máy chủ sẽ sử dụng khóa chung làm phương thức xác thực. Máy khách sẽ khớp bộ giao thức của máy chủ với bộ giao thức của chính nó. Nếu giao thức phù hợp thì cả hai máy sẽ đồng ý thiết lập kết nối và bắt đầu truyền dữ liệu.
Client sẽ so sánh khóa chung của Server với khóa riêng được lưu trữ cục bộ. Nếu cả hai khóa khớp nhau, máy khách và máy chủ sẽ bắt đầu phương thức mã hóa đối xứng để liên lạc trong phiên SSH.
Để hiểu rõ hơn và tường minh hơn về cách xác thực của giao thức SSH. Các bạn hãy tham khảo mô hình này mà ITMaster.vn đã tham khảo.

Sau quá trình này, một khóa bí mật dùng chung sẽ được tạo để chia sẻ giữa cả hai thiết bị.
Xác thực người dùng
Các phương thức xác thực người dùng SSH được sử dụng phổ biến nhất là mật khẩu và khóa SSH. Các máy khách sẽ gửi mật khẩu được mã hóa đến máy chủ một cách an toàn. Tuy nhiên, trong một số trường hợp, mật khẩu được coi là một phương pháp xác thực rủi ro vì độ mạnh của mật khẩu phụ thuộc vào cách người dùng tạo mật khẩu. Cặp khóa Public/Private SSH được mã hóa bất đối xứng được coi là một lựa chọn tốt hơn so với mật khẩu. Sau khi máy khách giải mã tin nhắn, máy chủ sẽ cấp quyền truy cập hệ thống cần thiết cho máy khách.
Để tạo cặp khóa SSH , bạn phải nhập ssh-keygen trong thiết bị đầu cuối. Sau đó, hệ thống sẽ tạo và lưu trữ các khóa, như hình bên dưới.
Ví dụ về việc nhập ssh-keygen trên thiết bị.

Mục đích chính của SSH là kết nối máy chủ từ xa trong trường hợp phiên cuối. Bạn sử dụng lệnh sau để đạt được nhiệm vụ:
ssh UserName@SSHserver.example.com
Công dụng của SSH
Tóm lại, SSH được sử dụng rộng rãi trong các tập lệnh và một số phần mềm khác để truy cập dữ liệu và tài nguyên từ xa và an toàn.
Cách thay đổi cổng SSH mặc định?
B1. Để thay đổi cổng SSH mặc định, bạn phải chỉnh sửa tệp sshd_config. Hãy sao lưu tệp của bạn trước khi thao tác. Sử dụng lệnh này để tạo bản sao lưu trước:
ubuntu@ubuntu:~$ cp /etc/ssh/sshd_config /etc/ssh/sshd_config_backup
Lệnh này tạo một bản sao của tệp trong cùng thư mục.
B2. Bước tiếp theo là thay đổi cổng SSH mặc định. Mở tệp ssh_config trong bất kỳ trình chỉnh sửa nào. Bây giờ, hãy nhập lệnh sau:
ubuntu@ubuntu:~$ gedit /etc/ssh/sshd_config
B3. Sau khi bạn thực hiện lệnh này, tệp được đề cập sẽ mở trong trình soạn thảo văn bản . Tìm kiếm dòng này trong mã:
#port 22
B4. Bây giờ, giả sử bạn muốn chuyển số cổng của mình thành 45673. Hãy xóa dấu thăng (#) và chèn số cổng mong muốn thay vì 22. Hãy xem:
port 45673
B5. Đừng quên đưa cổng này vào whitelist trên firewall để tránh bị khóa khỏi thiết bị của bạn.
B6. Để khởi động lại máy chủ để tải các thay đổi, bạn phải thực hiện theo lệnh sau:
ubuntu@ubuntu:~$ sudo service sshd restart
Ngay khi bạn khởi động lại thiết bị của mình, bạn có thể thấy những thay đổi mà bạn đã thực hiện.
Làm thế nào để kiểm tra các thay đổi ?
Sau khi bạn thay đổi thành công cổng mặc định, bạn phải đề cập đến số cổng để thiết lập kết nối với máy chủ. Đây là lệnh mà bạn cần thực hiện:
ubuntu@ubuntu:~$ ssh username@userIP -p 45673
Bạn đặt số cổng của mình là 45673.
Do đó, bạn có thể thấy rằng quá trình này cực kỳ dễ dàng và đơn giản. Bạn cần thực hiện một vài lệnh và thế là xong.
Phần kết luận
Nhiều công ty đã triển khai các giao thức SSH để đảm bảo an toàn truyền dữ liệu hoàn toàn. Port mặc định của SSH là 22, tuy nhiên để an toàn hơn bạn nên thay đổi số cổng mặc định bằng 1 số khác. Điều này giúp tránh khỏi sự nhòm ngó của các vị tin tặc.
SSH là gì?