Một trong các phương thức đăng nhập vào máy chủ LINUX khá an toàn đó là việc sử dụng SSH Key để thay thế cho mật khẩu. Mặc định bạn sẽ đăng nhập vào máy chủ bằng username root và mật khẩu root mà bạn đã tạo trước đó, tuy nhiên việc sử dụng mật khẩu luôn có 2 nguy cơ lớn là:
– Có thể lộ mật khẩu nếu máy tính bị nhiễm mã độc.
– Các attacker có thể sử dụng Brute Force Attack để dò tìm mật khẩu.
Tạo SSH Key trên Linux Server
Đăng nhập vào Cloud Server với quyền root, nhập lệnh
Trên CentOS 6/7/ Ubuntu 14/16
ssh-keygen -t rsa
Tiếp tục server sẽ hỏi bạn có muốn thiết lập keypharse hay không, nếu muốn thì bạn nhập keypharse cần thiết lập rồi nhấn Enter, sau khi tạo xong server sẽ hiện như sauServer hỏi bạn muốn lưu private key này vào đâu mặc định /root/.ssh/id_rsa
Hình trên bạn có thể thấy server có ghi đường dẫn lưu file private key (id_rsa) và file public key (id_rsa.pub)
Tiếp theo ta cần thay đổi tên file “id_rsa.pub” thành “authorized_keys” bằng lệnh
mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
Tạo SSH Key
Tại máy tính cần kết ối đến server, mở phần mềm WinSCP để download file id_rsa về máy tính
Tiếp theo mở phần mềm puttygen để convert file này sang file có đuôi ppk
Donwload puttygen: https://www.ssh.com/ssh/putty/windows/puttygen
Mở phần mềm puttygen, và chọn Load
Sau khi đã load xong file id_rsa, chọn Save Private Key, đặt tên file ví dụ “vps-key”
Sau khi đã load xong file id_rsa, chọn Save Private Key, đặt tên file ví dụ “vps-matbao-key”
3.Cấu hình SSH sử dụng Pubkey để kết nối
Chỉnh sửa file /etc/ssh/sshd_config
nano /etc/ssh/sshd_config |
Chỉnh sửa dòng
PubkeyAuthentication yes AuthorizedKeyFile /root/.ssh/authorized_keys Hoặc để mặc định .ssh/authorized_keys (nếu sử dụng ssh key cho nhiều user) |
Nếu bạn muốn chỉ sử dụng SSH Key để kết nối và không cần dùng Password
Chỉnh sửa dòng
PasswordAuthentication no |
Lưu ý: Khi tùy chỉnh thông số này, bạn chỉ có thể đăng nhập vào server bằng SSH Key, bạn không thể sử sụng Password để đăng nhập nữa
Sau khi chỉnh sửa xong, lưu file và khởi động lại dịch vụ sshd
service sshd restart
4. Kết nối SSH đến Linux Server
Mở phần mềm putty, nhập địa chỉ IP server và port (mặc định port 22)Chọn tab SSH -> Authentication
Chọn Browse, tìm đến file Private Key định dạng PPK vừa khởi tạo bên trên
Trở lại tab Session trên putty, chọn Open
Nhập Username và putty sẽ sử dụng SSH Key để chứng thực SSH
Kiểm tra thử kết nối đến server không sử dụng Private Key
Server sẽ thông báo không hỗ trợ kiểu chứng thực, bởi vì ở trên chúng ta đã bỏ kiểu chứng thực bằng Password thay vào đó đã sử dụng SSH Key để chứng thực.
Leave a Reply