SSH là gì? Hướng dẫn kết nối đến máy chủ Linux thông qua SSH

SSH là gì?

SSH (Secure Shell) là một giao thức mạng, giao thức này cho phép chúng ta kết nối đến một máy chủ Linux từ xa thông qua mạng Internet. Mọi dữ liệu gửi và nhận thông qua SSH đều được mã hóa giúp bảo mật thông tin an toàn hơn.

Ví dụ bạn thuê một máy chủ Linux (máy chủ này có thể là vật lý, có thể là máy ảo) để chạy website, trên thực tế máy chủ này được đặt ở một DC nào đó, để có thể toàn quyền cài đặt và điều khiển máy chủ đó bạn cần kết nối với máy chủ đó từ xa. SSH cho phép bạn làm điều đó.

Cài đặt SSH trên máy chủ

Để có thể kết nối được từ một máy tính khác đến máy chủ thông qua giao thức SSH thì máy chủ của bạn phải được cài sẵn SSH.

Nếu bạn thuê máy chủ thì thường bước này nhà cung cấp đã làm hộ bạn và sẽ cung cấp cho bạn tài khoản để kết nối luôn.

Nếu bạn tự cài máy chủ thì tham khảo các câu lệnh sau:

Với RHEL/CentOS

Với Ubuntu/Debian

Sau khi cài đặt xong bạn có thể cấu hình SSH thông qua file config: /etc/ssh/sshd_config .

(Cụ thể cách cài đặt và cấu hình SSH trên máy chủ Linux mình sẽ chia sẻ ở một bài viết khác nhé các bạn.)

Đăng nhập vào máy chủ thông qua SSH

Để có thể đăng nhập vào máy chủ thông qua SSH, ta cần có những thông tin sau:

  • IP máy chủ, ví dụ: 10.10.8.10.
  • Tên đăng nhập người dùng (username), thường là root.
  • Mật khẩu người dùng (password).
  • Cổng giao tiếp, mặc định SSH sử dụng cổng 22.

Những thông tin này nếu bạn đi thuê máy chủ bạn sẽ được cung cấp sau khi bạn ký hợp đồng dịch vụ.

Đăng nhập từ một Linux hoặc MacOS

Nếu bạn kết nối từ một máy hệ điều hành Linux hoặc MacOS thì bạn đã được hỗ trợ sẵn SSH, vì vậy bạn chỉ cần mở Terminal và gõ câu lệnh với cú pháp sau:

Ví dụ:

Sau đó nhập hoặc past mật khẩu và ấn Enter. Done.

Mặc định port kết nối là 22, trong trường hợp không sử dụng port mặc định thì chúng ta thêm tham số -p, ví dụ:

Đăng nhập từ một Windows

Nếu bạn kết nối từ một máy chạy hệ điều hành Windows thì bạn cần sử dụng một ứng dụng hỗ trợ. Ứng dụng thông dụng nhất mình biết là PuTTY. Bạn có thể truy cập putty.org  để tải ứng dụng. Cách sử dụng cũng khá đơn giản, bạn chỉ cần nhập đầy đủ thông tin và kết nối.

(Các bạn thông cảm vì mình không sử dụng Windows nên không thể hướng dẫn các bạn chi tiết được.)

Ngoài ra với giao thức SSH chúng ta có một cách khác để kết nối với máy chủ mà không cần đăng nhập, cách này thường được sử dụng để cài đặt các tác vụ tự động hóa giữa các máy chủ với nhau. Mình sẻ chia sẻ với các bạn trong một bài viết khác nhé.

 

Cron format – Định dạng và cú pháp Cron trên Linux

Trong bài viết này mình sẽ chỉ nói về định dạng và cú pháp của Cron, việc cài đặt Cron Job mình sẽ chia sẻ trong một vài viết khác.

Nói qua một chút về Cron Format. Cron Format là một định dạng thời gian để xác định tần xuất của một tác vụ nào đó của hệ thống , định dạng này được thiết kế với tiêu chí đơn giản, hiệu quả, linh hoạt. Ví dụ các tác vụ như: Backup Database, Polling SCM…

Cron Format bao gồm có 5 trường giá trị riêng biệt được phân cách nhau bởi dấu “TAB” hoặc dấu cách “Whitespace”.

Nếu sử dụng nnCron thì chúng ta có thể có thêm trường thứ 6 là <Năm> .

Các giá trị khả dụng:

  • Phút: 0-59
  • Giờ: 0-23
  • Ngày trong tháng: 1-31
  • Tháng trong năm: 1-12
  • Ngày trong tuần: 0-6 hoặc 1-7. Lưu ý: Chủ nhật được coi là ngày đầu tiên.
  • Năm: 1900-3000

Các cú pháp đặc biệt:

  • * : Tất cả những giá trị khả dụng.
  • M-N : 1 khoảng giá trị. Ví dụ: 5-8 .
  • A,K,Z : tập hợp các giá trị. Ví dụ: 1,5,6,8,30 .

Hãy xem xét các ví dụ sau để hiểu rõ hơn:

* * * * * : Mỗi phút.

0 0 * * * : Vào 0 giờ 0 phút mỗi ngày.

0 2-4 * * * : Vào 2 giờ, 3 giờ và 4 giờ mỗi ngày.

* * * 2,4,6,8,10,12 * * : Mỗi phút trong tháng 2, 4, 6, 8, 10, 12.

0 0 1 * * * : 0 giờ 0 phút vào các ngày đầu tiên của tháng.

Ngoài ra các bạn có thể tham khảo 1 số tool có thể giúp mình làm việc dễ dàng hơn với Cron như: crontab-generator.org , crontab.guru ..

Mình sẽ chia sẻ cách cài đặt và cấu hình Cron trên hệ thống trong một bài viết khác nhé!

CI Jenkins – Cài đặt Jenkins trên máy ảo Laravel Homestead

Bài viết này hướng dẫn các bạn cài đặt Jenkins trên máy ảo Laravel Homestead. Việc cấu hình và sử dụng Jenkins mình sẽ chia sẻ trong một bài viết khác.

Ngoài ra nếu bạn chưa biết cài đặt Laravel Homestead, hãy tham khảo bài viết này: Laravel Homestead – Môi trường phát triển chuẩn cho Laravel.

Các bước hướng dẫn dưới đây là các bước sau khi các bạn chạy câu lệnh vagrant ssh  để kết nối với máy ảo.

Bước 1: Cài đặt Java

Các bạn tham khảo bài viết này nhé: Hướng dẫn cài đặt Java JDK trên Ubuntu.

Bước 2: Cài đặt Jenkins

Thêm repository key vào hệ thống: wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add - .

Mở file sources.list  với câu lệnh sudo vi /etc/apt/sources.list , thêm vào cuối file  deb https://pkg.jenkins.io/debian-stable binary/ .

Cập nhật package: sudo apt-get update .

Cài đặt Jenkins:  sudo apt-get install jenkins .

Mặc định sau khi cài đặt Jenkins sẽ tự động chạy tại cổng 8080 , chúng ta có thể truy cập vào Jenkins thông qua trình duyệt với đường dẫn: http://ip_may_chu_cua_ban:8080 . Ví dụ: http://10.10.8.10:8080 .

Bước 3: Unlock Jenkins

Sau khi truy cập vào Jenkins thành công qua trình duyệt, chúng ta sẽ nhận được bảng thông báo như sau:

Để đảm bảo bảo mật thì Jenkins bắt buộc chúng ta phải lấy mã Admin trong file initialAdminPassword trên máy chủ.

Chạy lệnh sau để lấy mã: sudo cat /var/lib/jenkins/secrets/initialAdminPassword .

Output sẽ có dạng: d177322e66ca4ba38034fbfeada344c0 .

Copy đoạn mã và past vào ô Administrator password sau đó ấn Continue.

Bước 4: Đổi mật khẩu Admin

Sau khi đã có quyền truy cập vào Jenkins, điều đầu tiên chúng ta cần làm là đổi mật khẩu Admin.

Ở góc trên bên phải sẽ có 1 nút Admin , ấn vào đó, tiếp tục ở cột bên trái sẽ có Configure , tiếp tục ấn vào form cập nhật thông tin sẽ hiện ra.

Sau khi đổi mật khẩu admin coi như chúng ta đã tạm cài đặt xong Jenkins lên máy chủ, các bước tiếp theo mình sẽ hướng dẫn trong một bài viết khác nhé!

Hướng dẫn cài đặt Java trên Ubuntu

Để kiểm tra xem máy chủ của bạn đã được cài Java chưa, gõ lệnh: java -version .

Nếu output tương tự thế này thì máy bạn đã cài Oracle Java rồi:

Hoặc nếu output tương tự thế này thì máy của bạn đã được cài Java Open JDK rồi:

Nếu chưa, tham khảo các bước sau để cài đặt Java:

Bước 1: Cài đặt Java thông qua apt-get

Cài đặt Java Open JDK

Bạn có thể thay đổi phiên bản mong muốn, ví dụ:

Hoặc cài đặt Oracle Java

Mặc định Java không có sẵn trong repository của Ubuntu, vì vậy ta cần add thêm:

Cập nhật lại Apt package:

Cài đặt Oracle Java:

Kiểm tra lại version của Java:

Bước 2: Cấu hình JAVA_HOME

Mở file enviroment với câu lệnh: sudo vi /etc/environment

Sau đó thêm vào cuối file dòng: JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64" hoặc /usr/lib/jvm/java-8-oracle/  nếu cài đặt Oracle Java.

Lưu ý đường dẫn đến Java home có thể khác tùy thuộc vào phiên bản, vì vậy cách tốt nhất các bạn cd /usr/lib/jvm  sau đó ls -la  để xác định Java home phù hợp nhé.

Bước cuối cùng, chạy lệnh source /etc/environment để tải lại file enviroment.

Chúc các bạn thành công!.