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 qua Private 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 macOS:


  • 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 bằng cách chạy 1 trong 2 câu lệnh sau trong Terminal.

    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 ý macOS 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

  • Bước 4: Cho phép CentOS Server SSH tới macOS bằng cách mở Remote Login trên macOS.

system preferences -> sharing->enable remote login



3. Thiết lập trên CentOS Server để macOS có thể kết nối

  • 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: Thêm dấu # vào trước 2 dòng sau và file cấu hình sshd_config:

    #GSSAPIAuthentication Yes

    #GSSAPICleanupCredentials no


  • Bước 4: 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 5: Copy Public Key vừa tạo ở trên macOS vào file authorized_keys

scp <username>@<macOS_IP>:/Users/<username>/.ssh/id_rsa.pub /root/.ssh/authorized_keys


  • Trong trường hợp này là:


scp tblap00019@192.168.1.24:/Users/tblap00019/.ssh/id_rsa.pub /root/.ssh/authorized_keys


  • Một thông báo yêu cầu kết nối sẽ hiện lên. Nhập Yes để tiếp tục.


  • Nhập mật khẩu của macOS để tiến hành copy file Public Key sang CentOS.


  • Vậy là ta đã hoàn tất copy Public Key sang CentOS Server.



  • Bước 6: Kiểm tra lại xem Public Key đã được copy vào file authorized_keys hay chưa.

    cat /root/.ssh/authorized_keys



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


  • Bước 8: Chạy câu lệnh sau để khởi động lại dịch vụ SSH:

    sudo systemctl restart sshd

    sudo service sshd restart 

4. Truy cập CentOS Server từ macOS:

  • 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 thì không cần nhập trường -p.


    ssh -i ~/Users/tblap00019/.ssh/id_rsa root@192.168.1.22 



  • Một thông báo yêu cầu kết nối hiện ra. Nhập Yes để kết nối.

  • 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ạ


Nhận xét

Tìm kiếm Blog này