logo
Toàn tập về cách sử dụng ssh

Toàn tập về cách sử dụng ssh

SSH là viết tắt của "Secure Shell," đây là một giao thức mạng được sử dụng để thiết lập kết nối bảo mật giữa hai máy tính và cho phép truy cập từ xa vào máy chủ hoặc thiết bị khác qua mạng. Dưới đây là một giới thiệu ngắn gọn về SSH:

Bảo mật: SSH được thiết kế để cung cấp một kết nối mạng an toàn, đảm bảo tính toàn vẹn và bảo mật dữ liệu trong quá trình truyền tải. Nó sử dụng các phương thức mã hóa mạnh mẽ để ngăn chặn kẻ xâm nhập từ đánh cắp thông tin hoặc can thiệp vào kết nối.

Xác thực: SSH yêu cầu người dùng hoặc máy chủ xác thực trước khi thiết lập kết nối. Điều này đảm bảo rằng người sử dụng hoặc thiết bị đang cố gắng truy cập được phép và có quyền truy cập tương ứng.

Đa nhiệm: SSH không chỉ dành cho việc truy cập từ xa vào máy chủ, mà còn cho phép thực hiện các tác vụ khác nhau như sao lưu dữ liệu, chạy các lệnh từ xa và chia sẻ tệp tin giữa các máy tính.

Port SSH mặc định: Cổng mặc định của SSH là cổng 22, nhưng bạn có thể thiết lập cổng khác để tăng cường bảo mật. Điều này giúp ngăn chặn các cuộc tấn công tự động trên cổng mặc định.

Sử dụng phổ biến: SSH rất phổ biến trong việc quản lý máy chủ và thiết bị mạng, cũng như trong các ứng dụng hàng ngày của người dùng cá nhân, bao gồm truy cập từ xa vào máy tính và sử dụng tunneling để truy cập các dịch vụ mạng an toàn.

SSH Key: Một phần quan trọng của SSH là sử dụng SSH key pairs (cặp khóa SSH) để xác thực thay vì mật khẩu. Điều này tăng cường bảo mật và đặc biệt hữu ích cho các ứng dụng tự động và script.

Cách cài đặt SSH Server

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

Bước 1: Cập nhật hệ thống

Đảm bảo rằng bạn đã cập nhật hệ thống CentOS lên phiên bản mới nhất trước khi cài đặt SSH. Sử dụng lệnh sau để cập nhật:

sudo yum update

Bước 2: Cài đặt OpenSSH Server

Sử dụng lệnh sau để cài đặt OpenSSH Server trên CentOS:

sudo yum install openssh-server

Bước 3: Bật và khởi động dịch vụ SSH

Bật dịch vụ SSH để nó tự động khởi động khi hệ thống khởi động:

sudo systemctl enable sshd

Khởi động dịch vụ SSH:

sudo systemctl start sshd

Bước 4: Kiểm tra trạng thái dịch vụ SSH

Đảm bảo rằng dịch vụ SSH đang chạy bằng cách sử dụng lệnh sau:

sudo systemctl status sshd

Nếu mọi thứ đã được cài đặt và cấu hình đúng, bạn sẽ thấy thông báo rằng dịch vụ SSH đang hoạt động.

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

Bước 1: Cập nhật hệ thống

Trước tiên, hãy cập nhật các gói trên hệ thống Ubuntu bằng lệnh sau:

sudo apt update

Bước 2: Cài đặt OpenSSH Server

Sử dụng lệnh sau để cài đặt OpenSSH Server trên Ubuntu:

sudo apt install openssh-server

Bước 3: Bật và khởi động dịch vụ SSH

Bật dịch vụ SSH để nó tự động khởi động khi hệ thống khởi động:

sudo systemctl enable ssh

Khởi động dịch vụ SSH:

sudo systemctl start ssh

Bước 4: Kiểm tra trạng thái dịch vụ SSH

Đảm bảo rằng dịch vụ SSH đang chạy bằng cách sử dụng lệnh sau:

sudo systemctl status ssh

Nếu mọi thứ đã được cài đặt và cấu hình đúng, bạn sẽ thấy thông báo rằng dịch vụ SSH đang hoạt động.

Sau khi hoàn thành các bước trên, bạn đã cài đặt và cấu hình thành công SSH Server trên cả CentOS và Ubuntu. Bây giờ bạn có thể sử dụng một máy khách SSH để truy cập và quản lý từ xa hệ điều hành này thông qua SSH. Đảm bảo rằng bạn cài đặt và sử dụng các công cụ SSH client phù hợp để thực hiện kết nối.

Hướng dẫn kết nối tới SSH

Dưới đây là hướng dẫn cách kết nối tới một máy chủ SSH từ các hệ điều hành khác nhau, bao gồm Linux, macOS, Windows, Android và iOS:

1. Trên Linux và macOS:

Trong cửa sổ terminal, bạn có thể sử dụng lệnh sau để kết nối tới máy chủ SSH:

ssh username@remote_server_address

username: Tên người dùng trên máy chủ SSH.

remote_server_address: Địa chỉ IP hoặc tên miền của máy chủ SSH.

Sau khi nhập lệnh này, bạn sẽ được yêu cầu nhập mật khẩu hoặc sử dụng khóa SSH (nếu được cấu hình).

2. Trên Windows:

Trong Windows, bạn có thể sử dụng một ứng dụng SSH như PuTTY hoặc Windows Subsystem for Linux (WSL) để kết nối tới máy chủ SSH.

Sử dụng PuTTY:

Tải và cài đặt PuTTY từ trang chính thức: https://www.putty.org/.

Mở PuTTY và điền địa chỉ IP hoặc tên miền của máy chủ SSH vào trường "Host Name (or IP address)".

Chọn giao thức "SSH" và nhấn nút "Open".

Nhập tên người dùng và mật khẩu khi được yêu cầu.

Sử dụng Windows Subsystem for Linux (WSL):

Nếu bạn đang sử dụng WSL, bạn có thể sử dụng lệnh SSH giống như trên Linux và macOS để kết nối.

3. Trên Android:

Bạn có thể sử dụng các ứng dụng SSH client trên Android như Termux hoặc JuiceSSH:

Sử dụng Termux:

Tải và cài đặt Termux từ Google Play Store.

Mở Termux và sử dụng lệnh SSH giống như trên Linux và macOS để kết nối.

Sử dụng JuiceSSH:

Tải và cài đặt JuiceSSH từ Google Play Store.

Mở JuiceSSH và thêm máy chủ SSH vào danh sách.

Chọn máy chủ và nhập tên người dùng và mật khẩu hoặc khóa SSH để kết nối.

4. Trên iOS (iPhone/iPad):

Bạn có thể sử dụng ứng dụng SSH client như Termius hoặc ‎Shelly - SSH Client trên iOS:

Tải và cài đặt Termius từ App Store.

Vào app store tìm kiếm hoặc tải ‎Shelly - SSH Client tại đây

Mở Termius và thêm máy chủ SSH vào danh sách.

Chọn máy chủ và nhập tên người dùng và mật khẩu hoặc khóa SSH để kết nối.

Nhớ kiểm tra rằng bạn đã có quyền truy cập vào máy chủ SSH và đã cấu hình máy chủ cho kết nối SSH trước khi thực hiện bất kỳ kết nối nào.

Kết nối SSH trên IOS

Giao diện kết nối ssh trên IOS

Một số lệnh cơ bản khi truy cập SSH :

  1. ls: Sử dụng để liệt kê các tệp và thư mục trong thư mục hiện tại.
  2. cd: Sử dụng để thay đổi thư mục làm việc. Ví dụ: cd /path/to/directory để di chuyển đến một thư mục cụ thể.
  3. pwd: Hiển thị đường dẫn tuyệt đối của thư mục hiện tại.
  4. mkdir: Tạo một thư mục mới. Ví dụ: mkdir new_folder để tạo thư mục mới có tên "new_folder".
  5. rm: Xóa tệp tin hoặc thư mục. Sử dụng rm -r để xóa thư mục cùng với nội dung của nó. Lưu ý: Hãy cẩn thận khi sử dụng lệnh này.
  6. touch: Tạo một tệp tin mới hoặc cập nhật thời gian sửa đổi của một tệp tin hiện có. Ví dụ: touch file.txt để tạo tệp tin "file.txt".
  7. cp: Sao chép tệp tin hoặc thư mục từ một vị trí này sang vị trí khác. Ví dụ: cp file.txt /path/to/destination để sao chép tệp tin "file.txt" vào một thư mục khác.
  8. mv: Di chuyển hoặc đổi tên tệp tin hoặc thư mục. Ví dụ: mv old_name.txt new_name.txt để đổi tên tệp tin từ "old_name.txt" thành "new_name.txt".
  9. nano hoặc vim: Sử dụng để mở và chỉnh sửa tệp tin văn bản. Ví dụ: nano file.txt để mở tệp tin "file.txt" bằng trình soạn thảo nano.
  10. wget hoặc curl: Sử dụng để tải tệp tin từ Internet. Ví dụ: wget https://example.com/file.zip để tải tệp tin từ URL đã cho.
  11. grep: Sử dụng để tìm kiếm và trích xuất các dòng từ một tệp tin văn bản hoặc đầu ra của một lệnh khác dựa trên mẫu được chỉ định. Ví dụ: grep "pattern" file.txt để tìm kiếm các dòng chứa "pattern" trong tệp tin "file.txt".
  12. ps: Hiển thị danh sách các tiến trình đang chạy.
  13. kill: Sử dụng để kết thúc một tiến trình hoặc quá trình chạy. Ví dụ: kill process_id để kết thúc tiến trình dựa trên ID tiến trình.
  14. ssh-keygen: Tạo và quản lý khóa SSH. Bạn có thể sử dụng lệnh này để tạo cặp khóa SSH và quản lý chúng.
  15. scp: Sao chép tệp tin hoặc thư mục giữa máy cục bộ và máy chủ SSH từ xa. Ví dụ: scp local_file.txt username@remote_server:/path/to/destination để sao chép một tệp tin từ máy cục bộ lên máy chủ SSH từ xa.
  16. mount : Lệnh mount được sử dụng trong hệ điều hành Unix và tương tự như Linux để kết nối và gắn kết một hệ thống tệp tin vào cây thư mục hiện hành của hệ thống tệp tin. Ví dụ : sudo mount /dev/sdb1 /mnt/mydata để gắn kết thiết bị /dev/sdb1 vào thư mục /mnt/mydata
  17. umount : trái ngược lại lệnh mount dùng để tháo thiết bị ra khỏi thư mục

Đây chỉ là một số lệnh cơ bản khi bạn sử dụng SSH. Tùy thuộc vào mục đích sử dụng và quyền truy cập của bạn, bạn có thể sử dụng các lệnh khác để thực hiện các tác vụ cụ thể.