TaMinhTri avatar

Tạ Minh Trí

IT Infrastructure
  • Emailtaminhtri.it@gmail.com
  • Phone+84 961984570
  • Birthday23 March
  • LocationHo Chi Minh, Vietnam

Hướng dẫn truy cập CentOS Server từ macOS sử dụng Private Key / Public Key

  •  Trong chuỗi series về CentOS, hôm nay mình sẽ hướng dẫn các bạn cách SSH tới CentOS Server từ macOS sử dụng Private Key / Public Key. Chúng ta cùng bắt đầu thôi nào!

1. Cài đặt OpenSSH trên CentOS Server:

  • Bước 1: Để có thể tạo được Public Key chúng ta cần phải cài đặt SSH Server và SSH Client bằng câu lệnh sau:

    sudo yum -y update

    sudo yum -y install openssh-server openssh-clients

  • Bước 2: Thực hiện kiểm tra Version của SSH bằng câu lệnh:

    ssh -V


  • Bước 3: 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:

    sudo systemctl status sshd


  • Bước 5: Khởi động dịch vụ OpenSSH tự động mỗi khi hệ thống khởi động lại:

    sudo systemctl enable sshd


2. Tạo Public Key trên CentOS Server:


  • Bước 1: Tạo cặp khóa SSH (SSH Key Pair) với kiểu mã hóa khuyến nghị tối thiểu 2048-bit RSA

    ssh-keygen -t rsa


  • Lưu ý: mã hóa với số bit càng cao thì độ bảo mật càng tốt. Nếu muốn tăng số bit mã hóa lên ví dụ 4096-bit chúng ta sẽ sử dụng câu lệnh sau:


    ssh-keygen -t rsa -b 4096


  • Bước 2: Hệ thống sẽ yêu cầu nhập vào tên file để lưu key. Mặc định nếu nhấn Enter key sẽ được lưu tại /root/.ssh/id_rsa

  • Bước 3: Hệ thống sẽ yêu cầu bạn tạo Passphrase ( được dùng để bảo vệ Private key khỏi việc bị sử dụng bởi những người không biết passphrase) Khuyến khích sử dụng và lưu ý CentOS sẽ không hiển thị những gì mà chúng ta nhập. Do mục đích demo mình sẽ bỏ qua bước này.


  • Hệ thống sẽ trả về một số thông tin cơ bản đã thiết lập trong đó:
  • File id_rsa là file Private Key dùng cho Client.
  • File id_rsa.pub là file Public Key dùng cho Server.

3. Thiết lập trên CentOS Server để macOS có thể kết nối sử dụng Private Key:

  • Bước 1:Sử dụng trình edit văn bản để mở file /etc/ssh/sshd_config

    sudo nano /etc/ssh/sshd_config

  • Bước 2: Đảm bảo có 2 dòng sau trong file cấu hình, nếu có dấu # trước đó thì hãy xóa dấu # đi.

    PubkeyAuthentication yes

    AuthorizedKeysFile .ssh/authorized_keys


  • Bước 3: Nhấn tổ hợp phím Ctrl + O sau đó Enter để lưu và Ctrl + X để thoát khỏi chỉnh sửa.

  • Bước 4: Copy Public Key vừa tạo ở trên vào file authorized_keys

    cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_key


  • Bước 5: Phân quyền cho các thư mục chứa keys:

    chmod 700 /root/

    chmod 700 /root/.ssh

    chmod 600 /root/.ssh/authorized_keys



4. Lưu Private Key từ CentOS Server về macOS:

  • Để Copy file Private Key chúng ta sử dụng câu lệnh sau:

    scp -P <Port> <User>@<IP/Host>:<File> <DestinationDirectory>

  • Lưu ý: -P phải viết hoa và port mặc định là 22.
  • Ví du: 

    scp -P 2022 root@192.168.1.22:/root/.shh/id_rsa ~/Desktop


  • Câu lệnh trên mang ý nghĩa là Copy sử dụng port 2022 bằng tài khoản Root của IP 192.168.1.22 với đường dẫn đến file cần copy và copy với folder Desktop trên macOS.
  • Sau khi nhập câu lệnh xong macOS sẽ hỏi chúng ta có muốn thiết lập kết nối đến host này hay không. Nhập Yes để tiếp tục


  • Một số trường hợp sau khi chạy câu lệnh trên sẽ gặp lỗi như sau:

  • Để fix được lỗi này chúng ta sẽ phải chỉnh sửa lại file /etc/ssh/ssh_config 

    sudo nano /etc/ssh/ssh_config


  • Tại mục Host* thêm dòng sau vào file:

    ServerAliveInterval 120


  • Chạy lại câu lệnh scp

    scp -P 2022 root@192.168.1.22:/root/.shh/id_rsa ~/Desktop


  • Ta có thể thấy được file Private Key đã được chép về Desktop. Để kiểm tra lại chúng ta sử dụng câu lệnh sau:

    ls ~/Desktop



5. Truy cập CentOS Server từ macOS sử dụng Private Key vừa lưu

  • Nhập câu lệnh sau để truy cập CentOS Server:

    ssh -i <Location_of_Private_Key> <username>@<IP/Host> -p <Port>

  • Lưu ý: 
  • Đường dẫn tới file Private Key phải bao gồm tên file.
  • Port mặc định là 22.

    ssh -i ~/Desktop/id_rsa root@192.168.1.22 -p 2022



  • Vậy là ta đã hoàn tất SSH đến CentOS Server sử dụng Private Key trên macOS.

  • Chúc các bạn thành công!

Author: Trí Tạ


Xem thêm:

Hướng dẫn SSH đến CentOS Sever từ CentOS client sử dụng Public Key

Hướng dẫn SSH đến CentOS Sever từ Windows sử dụng Public Key

Hướng dẫn đổi Port SSH trên CentOS


Nhận xét

Tìm kiếm Blog này