Bài viết được sự cho phép của tác giả Lê Chí Dũng
Lý do bạn nên sử dụng SSH Key thay password Root:
- Bảo mật hơn việc sử dụng password gấp n+1 lần. Hacker sẽ không thể tấn công bằng Brute Force Attack để đánh cắp password root được.
- Tiện lợi trong việc chứng thực vào một hoặc nhiều server nếu không đặt password cho SSH Key thì càng tiện =]].
- Dễ dàng cấp phát quyền cho ai đó làm việc trên một server hoặc nhiều server.
Xem thêm các việc làm Linux lương cao trên TopDev
1. SSH Key hoạt động như thế nào?
![]()
SSH Key hiểu đơn giản là một phương thức chứng thực người dùng truy cập vào server bằng cách đối chiếu giữa một key cá nhân (Private Key) trên thiết bị truy cập lưu trữ và key công khai(Public Key) trên server lưu trữ. Nội dung mã hóa trong 2 key này hoàn toàn khác nhau nhưng Server sẽ tự mã hóa Public Key theo một chuẩn RSA và đối chiếu với Private Key nếu 2 key này giống nhau là hợp lệ.
Thành phần chính của một SSH Key
Khi tạo ra một SSH Key, bạn cần biết sẽ có 3 thành phần quan trọng như sau:
- Public Key (dạng file và string) – Copy ký tự key này sẽ bỏ vào file /root/.ssh/authorized_keys trên server của bạn.
- Private Key (dạng file và string) – Lưu file này trên thiết bị đăng nhập, thiết lập cho PuTTY, WinSCP, MobaXterm,..
- Keypharse (dạng string, cần ghi nhớ) – Mật khẩu để mở private key, khi đăng nhập vào server nó sẽ hỏi cái này. Nếu để trống nó sẽ không hỏi!
2. Tạo SSH Key
Trên Windows
Nếu bạn sử dụng Windows thì sẽ dùng phần mềm PuTTY-Gen để tạo SSH, bạn có thể tải PuTTY-Gen tại đây.
Tải xong bạn mở ra, bạn chọn các tùy chọn như trong ảnh dưới rồi ấn Generate.
![]()
Trong lúc tạo, bạn phải rê chuột và click vòng vòng màn hình cho đến khi nó tạo xong.
Sau khi tạo xong, bạn sẽ thấy nó hiện ra thế này.
![]()
Kế tiếp đặt mật khẩu cho keypharse.
![]()
Cuối cùng Save Private Key và backup nó ở một nơi thật an toàn.
![]()
Còn cái public key là cái dãy loằng ngoằng ở trên, nó bắt đầu bằng từ khóa ssh-rsa AAA… Đoạn code này bạn sẽ copy bỏ vào server. Khi nào cần bạn có thể Load private key trong PuTTYGen là nó hiện ra public key.
Lưu ý tạo OpenSSH pribvate_key cho linux thì export như sau:
![]()
Trên Linux (Mac/Ubuntu/LinuxMint,..)
Nếu bạn đang sử dụng Linux thì không cần phần mềm mà sẽ sử dụng Terminal gõ:
Nó sẽ hỏi bạn muốn lưu private key này vào đâu, mặc định nó sẽ lưu vào /home/user/.ssh. Bạn có thể để trống và Enter.
Tiếp tục nó sẽ hỏi bạn có muốn thiết lập keypharse bạn thấy cần thì nhập vào rồi Enter.
Sau khi tạo xong, mặc định nó sẽ hiện ra thế này:
![]()
Trong đó bạn có thể thấy nó có ghi đường dẫn lưu file private key (id_rsa) và file public key (id_rsa.pub). Để xem được public key, bạn cứ mở file id_rsa.pub.
![]()
3. Cấu hình Public key trên Server
Đăng nhập vào Server với tài khoản mà bạn muốn áp dụng SSH Key.
Sau đó gõ các lệnh để tạo thư mục .ssh/ và file authorized_keys trong thư mục đó:
Sau đó mở file authorized_keys trong thư mục .ssh ở thư mục gốc của user và copy toàn bộ ký tự của public key. Có bao nhiêu public key thì lưu bấy nhiêu dòng thôi.
![]()
Lưu ý:
SSH Key sẽ không thể hoạt động nếu bạn đang bật SELinux. Hãy tắt SELinux đi bằng cách mở file /etc/selinux/config, tìm SELINUX=enforcing và thay bằng SELINUX=disabled. Sau đó gõ lệnh reboot để khởi động lại server.
Để kiểm tra xem nó đã hoạt động chưa, hãy đăng nhập lại vào SSH với tài khoản vừa thêm SSH Key. Nếu bạn đăng nhập bằng Linux thì nó sẽ tự hỏi keypharse của bạn, còn nếu bạn đăng nhập ở Windows dùng PuTTY thì phải trỏ file private key vào để nó chứng thực.
![]()
Nếu dùng MobaXterm thì gắn trong phần Advanced SSH Settings nhé, phần Use private key.
Bây giờ bạn đăng nhập và nó sẽ hỏi keypharse nếu bạn có đặt keypharse, còn không đặt là nó vô thẳng server.
Tắt chức năng sử dụng mật khẩu
Sau khi kiểm tra, nếu bạn thấy đã có thể đăng nhập vào server bằng SSH Key thì có thể tắt chức năng sử dụng mật khẩu đi vì nếu không tắt, các hacker vẫn brute force attack được.
Để tắt chức năng sử dụng mật khẩu trên server, bạn mở file /etc/ssh/sshd_config, và cấu hình như sau:





























































































Cách tạo sẵn mẫu comment trong INTELLIJ với Live Template
Bài viết được sự cho phép của blogchiasekienthuc.com
Chào các bạn, đối với anh em lập trình viên thì trong quá trình code có một việt rất quan trọng đó là viết comment.
Vậy comment trong INTELLIJ nghĩa là gì?
Vâng, comment là những chú thích, là những ghi chú với mục đích là để cho người viết code và cả người đọc code có thể hiểu được đoạn chương trình đó chạy như thế nào và mục đích là gì.
Nhưng trong thực tế có những comment lặp đi lặp lại với một dạng nhất định, nếu cứ mỗi lần tạo hàm mới lại hì hục viết comment thì sẽ rất mất thời gian.
Vì vậy trong bài viết này mình sẽ hướng dẫn anh em cách tạo một comment với định dạng sẵn, anh em chỉ cần gõ từ gợi ý là đoạn comment sẽ tự xổ ra.
#1. Ví dụ một đoạn comemnt với các thông tin
#2. Hướng dẫn tạo một template comment trong INTELLIJ
Đầu tiên các bạn vào mục
File=> chọnSetting…hoặc phím tắt làCtrl + Alt + Snhư hình bên dưới.Tiếp theo trong phần tìm kiếm các bạn nhập
Live Templates=> rồi chọn các lựa chọn như hình bên dưới.Để tạo một Template:
Sau khi có tên và nội dung template rồi thì các bạn bấm vào chữ
Definenhư hình ảnh bên dưới.Tại đây, nếu bạn định tạo comment cho ngôn ngữ lập trình nào thì chọn ngôn ngữ tương ứng. Nguyên nhân bởi vì mỗi ngôn ngữ có thể có các kiểu comment khác nhau.
Tiếp theo, các bạn bấm
Edit variablesđể chỉnh sửa các biến mà chúng ta sử dụng trong template. Ở đây mình có ba biến đó là:Sau khi chọn chức năng
Editthì đây chính là màn hình chúng ta sẽ sửa các biến, chính xác hơn chọn giá trị tương ứng cho các biến.Tương tự thì
dateTimemình sẽ chọn tương ứng vớitime()như hình bên dưới.Okay, vậy là công đoạn tạo template đã xong rồi. Bây giờ các bạn có thể gõ chữ “
com…” ở bất cứ đâu trong chương trình để tạo một comment với mẫu đã tạo.Đây chính là kết quả, các bạn có thể thấy có rất nhiều trường hợp chúng ta phải tạo các comment như thế này. Việc chỉ cần nhập từ gợi ý để tạo một comment dài như thế này là thực sự rất tiện lợi.
Không những bạn có thể tạo một comment như vậy, mà bạn còn có thể tạo ra rất nhiều các comment khác nhau.
Ví dụ trong phần
@update, mình cũng sẽ tạo một template với nội dung như ảnh bên dưới để phục vụ việc khi mình có cập nhật gì đó cho hàm mình đang viết.Các bạn cũng có thể gõ gợi ý
up…để tạo ra một comment tương ứng template mà các bạn đã định nghĩa thêm.Và đây chính là một comment đầy đủ, nhìn có vẻ rất là dài nhưng thông qua việc sử dụng
Live Templatemình đã viết đoạn comment chỉ với một hai phím gõ.#3. Kết luận
Vâng, như vậy là việc tạo comment ghi chú nhanh trong INTELLIJ với tính năng LIVE TEMPLATE cũng không có gì khó khăn cả, có đúng không ạ 🙂
Trên thực tế thì những dự án có nhiều người cùng làm và làm trong thời gian dài sẽ không thể tránh khỏi việc mỗi người code một kiểu.
Nếu không có các dòng comment để chú thích code thì thực sự rất khó cho người sau, chưa kể còn không biết được ai viết hàm đó, chức năng… đó để nhỡ có bị lỗi còn “lôi” ra hỏi.
Nhưng đôi khi việc viết comment lại khá tốn thời gian, vậy nên việc sử dụng Live Templates sẽ là một trong những cách rất hay để tạo nhanh comment mà không tốn quá nhiều thời gian cho nó.
CTV: Nguyễn Đức Cảnh – Bài viết gốc tại blogchiasekienthuc.com
Có thể bạn quan tâm:
Xem thêm Việc làm IT hấp dẫn trên TopDev