DEV Community

Long Nguyễn Xuân
Long Nguyễn Xuân

Posted on • Edited on

config ssh không dùng password

tiền điều kiện

  • đã biết dùng ssh basic

giới thiệu

sau khi được cấp 1 con linux server, bạn sẽ cần thiết lập SSH để "chọc" vào nó và làm nhiều thứ.
có 2 tình huống xảy ra

  1. bạn được cấp 1 cái file abc.pem
  2. bạn được cấp 1 cặp username/password

với cả 2 tình huống đó, bạn có thể dùng 2 cái đó 1 lần, rồi config để chép cái key "ruột" của bạn từ trong ~/.ssh/id_rsa.pub vào server để dùng về sau theo cách sau

thao tác

1- tạo 1 cặp key nếu chưa có sẵn.

  $ ssh-keygen -t rsa -C "YOUR_NAME@YOUR_PC" 

  # trong câu lệnh này mình chọn hình thức mã hóa rsa (`-t rsa`) 
  # và thêm cái "comment" `-C` để khi mình copy&paste cái key này 
  # lên server thì mình biết key này của ai 
  # rồi đại loại thì bạn sẽ bị hỏi có đặt tên file gì gì không, 
  # thường thì chúng ta sẽ bỏ qua và mặc kệ cho ssh-keygen nó tạo 
  # 2 cái file id_rsa và id_rsa.pub thôi 
Enter fullscreen mode Exit fullscreen mode

2- trên client của bạn, mở cái file id_rsa.pub bằng notepad++, vim, hoặc bất kỳ editor nào bạn có trên máy, thường thì nó sẽ trông như thế này

ssh-rsa AAAAB3N.....MBOOuNOZM0= YOUR_NAME@YOUR_PC 
Enter fullscreen mode Exit fullscreen mode

3- ssh vào server bằng username/password hoặc bằng pem được cấp

4- ở trong server, bạn mở cái file ~/.ssh/authorized_keys ra (bằng vim hoặc nano gì đó không quan trọng)
copy&paste cái dòng public key của bạn ở bước 2 vào file này.
trường hợp, cái file authorized_keys này nó chưa tồn tại, bạn tạo ra nó với các phân quyền như sau, chú ý rằng bạn phải chọn đúng chmod number chứ không là ssh không chịu chạy đâu

mkdir ~/.ssh
chmod 700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
Enter fullscreen mode Exit fullscreen mode

5- OK giờ bạn đã có thể enjoy việc ssh vào server bằng cái PC của bạn mà không cần phải kèm theo tham số "pem" hoặc gõ username/password 😎

6- bonus

một cái best practice là tạo 1 cặp key rồi mang nó đi khắp nơi, thì cho dù cài lại máy nhiều lần, hoặc dùng nhiều máy khác nhau, thì khi bật máy lên là ssh vào server ngay được mà không cần nhớ mật khẩu, không cần phải truyền tham số pem, không cần config vụ này nhiều lần, cứ mỗi server mới thì add cái public key này vào 1 phát thôi.

thanks azdigi về phần copy&paste

và nếu mang 1 cái key đi khắp nơi, thì khi copy&paste cái cặp key id_rsaid_rsa.pub vào 1 cái client mới, nhớ set chmod 600 id_rsa chứ không là ăn cái lỗi "permission too open"

Top comments (0)