Hướng dẫn tạo SSH key và đăng nhập bằng SSH Key vào máy chủ Linux

tao ssh key

Mặc định khi hệ điều hành mới được deploy (VPS hoặc máy chủ vật lý), các nhà cung cấp sẽ mở cổng mặc định login ssh là 22 và phương thức đăng nhập bằng mật khẩu.

Để đảm bảo đăng nhập an toàn hơn tránh scan password và đôi khi bạn không thể nhớ được mật khẩu thì giải pháp dùng ssh key sẽ phù hợp.

Chú ý: một số người dùng thường nhầm lãn việc khi sử dụng ssh key thì không thể sử dụng đăng nhập bằng mật khẩu nữa, nhưng thực tế là chúng không liên chúng không liên quan với nhau, tất cả do bạn cấu hình trong sshd_config. có thể cho phép đồng thời cả hai phương thức cùng lúc.

Bước 1: Tạo key đăng nhập ssh

Tạo thư mục chứa key

trong ví dụ này JDC hướng dẫn bạn tạo ra thư mục .ssh tại thư mục /root (viết là ~/.ssh/)

Gõ lệnh: mkdir ~/.sshchmod 0700 ~/.ssh

Tạo key

Gõ lệnh: ssh-keygen -t rsa -f ~/.ssh/key_cua_banchmod 0400 ~/.ssh/key_cua_ban

Trong đó:

-t rsa là quy định kiểu key là rsa

-f ~/.ssh/key_cua_ban là chỉ định tên file của key, nếu không chỉ định tham số này thì chương trình sẽ mặc định tạo ra 2 key public và private tên là id_rsa (private key) và id_rsa.pub (public_key)

Ngoài ra còn tham số -b hay được sử dụng quy định số lượng bits mã hóa, nếu không quy định thì mặc định chương trình sẽ tạo key mã hóa 2048 bits, nếu bạn muốn mã hóa cao hơn thì có thể thêm vào tham số -b 4096 có nghĩa là sẽ mã hóa 4096 bits.

tao ssh key
tao ssh key

Sau khi tạo key thành công bạn sẽ có được 02 file key như sau:

key mới tạo thành
key mới tạo thành

Trong đó chức năng từng file như sau:

File key_cua_ban.pub là public key được để trên máy chủ

File key_cua_ban là private key là file bạn sẽ tải về máy tính cá nhân và thêm vào chương trình kết nối ssh đến máy chủ.

Lấy private key về máy

Cách lấy file này về bạn có thể sử dụng bất kỳ chương trình sftp, scp nào để tải file về hoặc trong trường hợp bạn không có trình kế nối này ví dụ bạn sử dụng putty thì bạn sẽ copy nội dung của file và tạo file trên máy với nội dung trên.

Gõ lệnh: cat ~/.ssh/key_cua_ban

Copy đoạn nội dung như sau và tạo file trên máy cá nhân với nội dung vừa copy ở trên

Bước 2: Sửa file sshd_config để nhận key

file quy định phương thức đăng nhập ssh trên Centos là /etc/ssh/sshd_config

Gõ lệnh: nano /etc/ssh/sshd_config

Tìm dòng AuthorizedKeysFile và sửa nội dung như sau:

quy định file key

ở bước này bạn có thêm tùy chọn là đóng mở phương thức login bằng mật khẩu, nếu vẫn cho phép thì tìm dòng PasswordAuthentication đặt giá trị là yes giống như trong hình

Đóng mở đăng nhập bằng mật khẩu

Nếu muốn chỉ đăng nhập bằng key thì đặt giá trị là no

Lưu lại file sshd_config

Bấm Ctrl + 0 và nhấn Enter khi được hỏi lưu lại hay không

Bấm Ctrl + X để thoát khỏi chương trình.

Bước 3: Tắt selinux

Gõ lệnh: nano /etc/selinux/config

Tắt selinux

Bước 4: Khởi động lại máy chủ và đăng nhập bằng key

Ví dụ trên chương trình MobarXterm

Lựa chọn key đăng nhập
Lựa chọn key đăng nhập
Đăng nhập bằng key
Đăng nhập bằng key
Đăng nhập thành công
Đăng nhập thành công

Trong ví dụ trên JDC đồng thời đổi cổng login ssh để tăng thêm tính bảo mật, nếu bạn muốn đổi cổng login ssh như trên thì làm theo hướng dẫn sau: Hướng dẫn đổi cổng login SSH trên Centos 6/7

 

 

 

 

Was this article helpful?

Related Articles

Leave A Comment?

This site uses Akismet to reduce spam. Learn how your comment data is processed.