Setting Up Passwordless SSH with Private Key

Setting Up Passwordless SSH with Private Key

(Thiết Lập SSH Không Cần Password Với Private Key)


Hướng Dẫn Thiết Lập SSH Không Cần Mật Khẩu Trên CentOS Với Bash Script


Trong bài viết này, chúng ta sẽ hướng dẫn bạn cách thiết lập SSH không cần mật khẩu cho tài khoản root trên CentOS bằng một Bash script đơn giản. Việc này giúp bạn tiết kiệm thời gian khi đăng nhập SSH nhiều lần mà không cần nhập mật khẩu. Hãy cùng đi qua từng bước cụ thể dưới đây.


1. Giới thiệu về SSH Key và quá trình thiết lập

SSH key là một cặp khóa gồm khóa công khai và khóa riêng tư, được sử dụng để xác thực khi kết nối qua SSH. Quá trình thiết lập sẽ bao gồm việc tạo khóa SSH và sao chép nó vào máy chủ để có thể đăng nhập mà không cần mật khẩu.

2. Script Bash thiết lập SSH không cần mật khẩu

Dưới đây là Bash script để bạn có thể nhanh chóng thiết lập hệ thống của mình:

#!/bin/bash # Tạo cặp khóa SSH, bỏ qua yêu cầu nhập thông tin echo -ne '\n' | ssh-keygen # Sao chép khóa công khai SSH đến tài khoản root trên máy cục bộ ssh-copy-id root@$(hostname) # Thêm khóa công khai vào file authorized_keys trên máy cục bộ cat ~/.ssh/id_rsa.pub | ssh root@$(hostname) " mkdir -p ~/.ssh && \ touch ~/.ssh/authorized_keys && \ chmod -R go= ~/.ssh && \ cat >> ~/.ssh/authorized_keys" # Hiển thị khóa công khai cat ~/.ssh/id_rsa.pub # Đảm bảo thư mục .ssh tồn tại trên máy mkdir -p ~/.ssh # Thêm chuỗi khóa công khai cụ thể vào authorized_keys echo public_key_string >> ~/.ssh/authorized_keys # Thiết lập quyền truy cập bảo mật cho thư mục .ssh và file bên trong chmod -R go= ~/.ssh # Đặt quyền sở hữu thư mục .ssh và các file bên trong cho root chown -R root:root ~/.ssh

3. Giải thích từng bước của script

  • Tạo khóa SSH:
    Lệnh echo -ne '\n' | ssh-keygen giúp tạo cặp khóa SSH và bỏ qua các bước yêu cầu nhập dữ liệu.

  • Sao chép khóa đến máy cục bộ:
    Sử dụng ssh-copy-id root@$(hostname) để sao chép khóa SSH đến tài khoản root của chính hệ thống hiện tại.

  • Thêm khóa vào file authorized_keys:
    Dòng lệnh sau cat ~/.ssh/id_rsa.pub giúp sao chép khóa công khai vào file authorized_keys và đảm bảo thư mục .ssh có quyền truy cập đúng.

  • Kiểm tra khóa công khai:
    Lệnh cat ~/.ssh/id_rsa.pub hiển thị khóa công khai của bạn.

  • Đảm bảo thư mục .ssh tồn tại:
    Nếu thư mục .ssh chưa tồn tại, script sẽ tự động tạo thư mục này bằng lệnh mkdir -p ~/.ssh.

  • Thêm khóa thủ công:
    Sử dụng echo public_key_string >> ~/.ssh/authorized_keys để thêm một chuỗi khóa công khai cụ thể vào file authorized_keys.

  • Thiết lập quyền truy cập:
    Lệnh chmod -R go= ~/.ssh đảm bảo chỉ có người sở hữu (root) mới có quyền truy cập vào thư mục và file bên trong.

  • Đặt quyền sở hữu:
    Cuối cùng, lệnh chown -R root:root ~/.ssh sẽ đảm bảo rằng root là chủ sở hữu của thư mục .ssh.

4. Kết luận:

Bằng cách thực hiện các bước trên, bạn đã hoàn tất quá trình thiết lập SSH không cần mật khẩu trên CentOS. Điều này giúp bạn quản lý hệ thống hiệu quả và bảo mật hơn. Nếu bạn có bất kỳ câu hỏi nào, đừng ngần ngại để lại bình luận bên dưới!

1 Comments

Previous Post Next Post