Bạn nhận được cảnh báo“Getting “Warning: unprotected private key file!” thông báo lỗi khi cố gắng nhập khóa SSH. Làm sao để khắc phục?
Hôm trước trong bài Cách tự sao lưu dữ liệu server bằng rsync and crontab mình có hướng dẫn cách kết nối SSH không cần mật khẩu bằng các SSH key. Tuy nhiên nhiều bạn hỏi mình là khi thực hiện lệnh bị hiện thông báo như sau:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0775 for 'david/.ssh/id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Làm sao để khắc phục lỗi này?
Cách sửa lỗi bằng cách thiết lập lại quyền
Bạn hãy chạy hai lệnh này để thiết lập lại quyền với file key SSD
sudo chmod 600 ~/.ssh/id_rsa sudo chmod 600 ~/.ssh/id_rsa.pub
Sau hai lệnh này bạn thử lại xem đã hết chưa. Nếu chưa bạn hãy thử set chmod 400 cho file id_rsa thử, nếu vẫn chưa được thì chuyển qua giải pháp 2.
Có một số trường hợp sau khi thực hiện thao tác này xong nhưng khi SSH bạn bị hỏi mật khẩu lại, hãy thử sử dụng các bước ssh-agent bên dưới.
Sử dụng ssh-agent
Bước 1: Bật ssh-agent bằng lệnh
eval `ssh-agent -s`
Bước 2: Thêm private key sử dụng ssh-add
$ ssh-add ~/.ssh/id_rsa_key Enter passphrase for /home/user/.ssh/id_rsa_key: Identity added: /home/user/.ssh/id_rsa_key (/home/user/.ssh/id_rsa_key)
Sau bước này, kiểm tra lại xem đã có key chưa bằng lệnh:
$ ssh-add -l 2048 55:96:1a:b1:31:f6:f0:6f:d8:a7:49:1a:e5:4c:94:6f /home/user/.ssh/id_rsa_key (RSA)
Bây giờ bạn có thể dùng lệnh SSH trở lại mà không còn bị hỏi mật khẩu.