Hướng dẫn thiết lập SSH key trên Linux

Hướng dẫn thiết lập SSH key trên Linux

SSH(Secure Shell) là một giao thức điều khiển từ xa cho phép người dùng đăng nhập vào server từ xa. Nó sử dụng cơ chế mã hoá bảo mật nhằm ngăn chặn hacker đánh cắp thông tin trên đường truyền.  Các chương trình trước đây: telnet, rlogin không sử dụng phương pháp mã hoá, vì thế bất cứ ai cũng có thể nghe trộm thậm chí đọc được toàn bộ nội dung của phiên làm việc bằng cách sử dụng một số công cụ đơn giản. Sử dụng SSH là biện pháp hữu hiệu bảo mật dữ liệu trên đường truyền từ hệ thống này đến hệ thống khác.

Xem thêm:

Loạt bài thủ thuật về Linux

Tại sao nên sử dụng SSH Key

Khi bạn sử dụng SSH để đăng nhập vào một server nào đó, bạn được yêu cầu phải cung cấp mật khẩu, điều này sẽ dẫn đến việc thất lạc hay quên mật khẩu, bị lộ mật khẩu và mất quyền kiểm soát server.

Đối với các bạn làm nhiều về hệ thống việc cấu hình hay tạo ra các scripts có sự liên hệ giữa các server thì việc nhập mật khẩu bằng tay thật sự bất tiện. Để giải quyết vấn đề này, chúng ta sử dụng SSH Key để chứng thực đăng nhập giữa các máy với nhau.

Tạo SSH Key Pair

Để tạo SSH key bạn thực hiện lệnh sau:

ssh-keygen -t rsa

Khi thực hiện lệnh hệ thống sẽ lần lượt hỏi nơi lưu SSH key, passphrase. Nếu để mặc định thì bạn cứ để trống và Enter.

Theo hình trên thì sau khi mình tạo SSH Key sẽ có 2 file trong thư mục /home/remote/.ssh/

  1. ~/.ssh/id_rsa [private key]
  2. ~/.ssh/id_rsa.pub [public key]

Copy public key đến remote server

Giờ chúng ta đã có thể copy public key đến remote server( ~/.ssh/authorized_keys). Chúng ta có thể làm thủ công hoặc sử dụng lệnh ssh-copy-id

Thủ công

Copy SSH theo cách thủ công chúng ta làm như sau:

Xem nội dung Public Key bằng lệnh:

cat /home/remote/.ssh/id_rsa.pub

sau đó bạn copy toàn bộ nội dung Public Key

Remote đến server muốn copy SSH key thực hiện các lệnh sau (nhớ đăng nhập user bạn muốn thêm key nhé):

mkdir ~/.ssh
chmod 700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

Sau đó mở file authorized_keys  và dán toàn bộ nội dung public key bạn đã copy ở trên.

Sử dụng lệnh

Nếu bạn muốn sử dụng lệnh để copy ssh key thì thực hiện như sau:

ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.1.199

Trong đó 192.168.1.199 là IP của remote server bạn muốn thêm key.

Nhập password của user để hoàn thành.

21
[email protected]'s password:
Now try logging into the machine, with "ssh '192.168.1.199'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

Kiểm tra ssh không cần mật khẩu

Remote đến server bạn vừa copy SSH Key bằng lệnh:

ssh [email protected]

Nếu không cần mật khẩu mà vẫn đăng nhập được tức là bạn đã cấu hình SSH Key thành công rồi đó 🙂