Nội dung
Trước khi đi vào bài viết hãy cùng Quân tìm hiểu SSH key là gì? và vì sao lại cần thiết sử dụng SSH key nhé.
Đầu tiên chúng ta hãy định nghĩa lại SSH. SSH hay còn được biết đến là secure shell. Là một phương thức được sử dụng để mã hóa dữ liệu khi bạn kết nối từ máy bạn đến server như mô hình bên dưới.
Thông thường để kết nối đến Server bạn sẽ sử dụng Passwd Root để SSH vào, nhưng nó có thực sự an toàn tuyệt đối và bảo mật hay chưa? Là một kỹ thuật hệ thống và với góc nhìn của mình thì SSH bằng passwd root chưa thực sự an toàn vì khi vps bạn Online lên sẽ đối mặt với nhiều rủi ro, lộ thông quan quản trị, bị dò passwd bởi attacker. Vậy làm sao để đảm bảo an toàn hãy cùng mình tìm hiểu qua cách tạo và sử dụng SSH KEY nhé.
SSH Key bạn có thể hiểu đơn giản là một kiểu chứng thực đối chiếu giữa người dùng (Private key) và máy chủ server/vps (Public key). Public key và Private key có mối quan hệ chặt chẽ với nhau để nhận diện mở khóa. Khi bạn tạo SSH Key sẽ có 2 file bao gồm là Public Key, file này bạn sẽ đưa lên máy chủ server/vps còn Private key bạn sẽ để ở máy tính cá nhân. Nói một cách dễ hiểu hơn Public key chính là ổ khóa còn Private key chính là chìa khóa và để mở được ổ khóa thì phải đúng chìa khóa thì mới mở được.
Do đó việc sử dụng SSH Key hết sức cần thiết để đảm báo máy chủ luôn an toàn và không bị đăng nhập dò passwd nữa, ngay cả khi bạn để lộ chuổi Private key thì cũng không phải lo lắng vì còn Passphrase để mở private key nữa. Và để không mất thời gian hãy cùng mình tạo và đăng nhập nhé.
Hướng dẫn tạo SSH Key
Có nhiều công cụ hỗ trợ tạo nhưng căn bản cũng sẽ thực hiện tạo ra chuổi public và private. Ở đây mình hướng dẫn bạn trên Windows và Linux như sau.
1. Sử dụng Putty trên Windows
Với hệ điều hành Windows mình giới thiệu đến bạn một phần mềm SSH mạnh mẽ nhất là PuTTY, một phần mềm đông đảo ngưởi dùng sử dụng để SSH và tạo SSH KEY, mình để link bên dưới để bạn tải về nhé.
Sau khi tải xong và cài đặt bạn mở PuTTY Gen lên để tạo SSH key nhé. Tại đây bạn chọn Generate để tạo.
Tiếp đến bạn hãy Di chuyển con chuột vào khung trống này cho đến khi tạo xong ssh key.
Khi xuất hiện như ảnh bên dưới là đã thành công. Nhưng bạn hãy thực hiện một bước nữa là đặt passphrase để mở private key nhé. Bạn nhập vào passwd tự chọn vào khung Key passphase và Confirm passphase. Sau khi nhập hoàn tất bạn click vào Save private key và save public key để lưu lại ở máy cá nhân.
2. Sử dụng Linux/MacOS
Với Linux hoặc MacOS đều thuộc nhóm Hệ điều hành Unix do đó cách thức và lệnh tạo cũng sẽ tương đương giống nhau. Và để thực hiện được bạn hãy mở cửa sổ Terminal
lên sau đó thực hiện nhập vào lệnh sau ssh-keygen -t rsa
để tạo chuổi Public key và Private key.
ls -al ~/.ssh ssh-keygen -t rsa
Chú thích trong ảnh
- ssh-keygen -t rsa: Lệnh để tạo
- Enter file in which to save the key: Đặt tên cho file ssh key
- Enter passphrase (empty for no passphrase): Đặt mật khẩu để mở khóa cho ssh key
- Enter same passphrase again: Nhập lại mật khẩu để xác nhận.
Your identification has been saved in quanazdigi: Đây là khóa key Your public key has been saved in quanazdigi.pub: Đây là khóa công khai sẽ đưa lên server
Hướng dẫn sử dụng SSH Key
Sau khi đã tạo xong SSH key ở các bước trên, để sử dụng bạn thực hiện tuần tự các bước như sau nhé.
Bước 1: Thêm Public key lên Server/VPS
Bạn hãy ssh vào server/vps với thông tin passwd root và thực hiện nhập tuần tự các lệnh sau.
mkdir ~/.ssh chmod 700 ~/.ssh touch ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys
Khi tạo xong file authorized_keys
bạn hãy mở file này lên với lệnh sau vi ~/.ssh/authorized_keys
và copy toàn bộ chuổi ký tự public key đã tạo vào nhé.
Lưu ý: Để ssh key hoạt động bạn cần phải tắt SElinux. Nếu SElinux đang bật thì ssh key sẽ không hoạt động được.
Bước 3: Sử dụng SSH Key
Để sử dụng SSH Key với Windows và Linux hoàn toàn khác nhau, và bạn thực hiện theo các bước hướng dẫn sau.
Sử dụng SSH Key với PuTTY
Bạn mở PuTTY lên sau đó click vào SSH => Auth. Tiếp đến bạn clck vào Browse để tìm đến file Private key đã tạo và lưu ở bước hướng dẫn trên. Khi đã trỏ được đến file Private và bạn thực hiện SSH thì bạn sẽ nhận được yêu cầu nhập vào Passphrase, bạn hãy nhập Passphrase để hoàn tất bước SSH nhé.
Sử dụng SSH Key với Linux/MacOS
Với Linux/MacOS để sử dụng SSH key bạn mở Terminal lên và sử dụng lệnh sau để SSH.
ssh -i duong_dan_file_private_key root@ip_may_chu -p nhap_vao_port_ssh
Ví dụ: ssh -i .ssh/quan root@103.110.84.109 -p 2210
Trong đó:
- ssh -i: cú pháp thực hiện
- .ssh/quan: đường dẫn đến fike private key, và ở đây private key của mình tên là quan
- root: tên user
- @103.110.84.109: IP máy chủ
- -p 2210: option và Port ssh, ở đây mình đổi port ssh mặc định là 22 thành 2210
Sau khi đã gọi file ssh thành công bạn hãy nhập vào passphrase để ssh vào máy chủ.
Sau khi đã SSH key thành công bạn có thể tắt cho phép SSH bằng Passwd đi để tránh do passwd và brute force attack nhé. Để tắt đăng nhập ssh bằng passwd bạn thực hiện như sau. Bạn mở file /etc/ssh/sshd_config
sau đó tìm đến dòng PasswordAuthentication Yes
bạn chuyển thành PasswordAuthentication no
vi /etc/ssh/sshd_config
Sửa lại thành
PasswordAuthentication no
Khi lưu xong bạn đừng quên khởi động lại dịch vụ sshd nhé.
systemctl restart sshd #UsePAM no
Lời kết
Qua bài Hướng dẫn tạo và sử dụng SSH Key này hy vọng giúp bạn hiểu hơn về SSH key, vì sao lại cần sử dụng ssh. Việc sử dụng SSH key đảm bảo an toàn đến máy chủ, loại bỏ đi phương thức ssh truyển thống với user root và passwd. Việc sử dụng SSH Key AZDIGI luôn khuyến khích các người dùng và toàn bộ khách hàng tại AZDIGI sử dụng để đảm bảo các máy chủ này luôn an toàn, và không thể xâm nhập trái phép được.
Chúc bạn thực hiện thành công.
Nếu các bạn cần hỗ trợ các bạn có thể liên hệ bộ phận hỗ trợ theo các cách bên dưới:
- Hotline 247: 028 888 24768 (Ext 0)
- Ticket/Email: Bạn dùng email đăng ký dịch vụ gửi trực tiếp về: support@azdigi.com.