Kể từ hôm qua, mỗi lần tôi cố gắng kết nối với máy chủ ssh, tôi đã hỏi mật khẩu của mình. Tôi nên làm gì để SSH không yêu cầu mật khẩu của mình mỗi lần.
Kể từ hôm qua, mỗi lần tôi cố gắng kết nối với máy chủ ssh, tôi đã hỏi mật khẩu của mình. Tôi nên làm gì để SSH không yêu cầu mật khẩu của mình mỗi lần.
Câu trả lời:
Đặt khóa công khai của bạn vào hostnachine:~/.ssh/authorized_keys
và đảm bảo rằng nó có các quyền thích hợp - chmod 600. Xem trang hướng dẫn, phần AUTHENTICATION, để biết thêm chi tiết. Lưu ý rằng sshd có thể được cấu hình để không cho phép phương thức đăng nhập này mặc dù tôi không thể hiểu tại sao.
Kiểm tra quyền thư mục và quyền truy cập tệp.
$HOME
không thể viết theo nhóm hoặc khác.
$HOME/.ssh
cần phải có 700
quyền, không thể đọc, ghi hoặc thực thi theo nhóm và khác.
$HOME/.ssh/authorized_keys
không được viết hoặc thực thi bởi bất cứ ai.
Nếu bạn thấy rằng các quyền không đủ nghiêm ngặt, hãy thử tìm hiểu nguyên nhân gây ra sự cố. Lần trước điều này xảy ra với tôi, tôi đã biên dịch PHP từ đầu. Thực hiện make install
như là người chủ (Slackware) thay đổi các điều khoản và quyền sở hữu /
hoặc /home
khi tôi gọi lại, và giữ ssh từ làm việc với authorized_keys
và id_rsa.pub
file mà đã có mặt tại nơi làm việc và cho các lứa tuổi. Bạn muốn xác định nguyên nhân gây ra sự cố, vì quyền sở hữu thư mục và / hoặc quyền được thay đổi có thể xảy ra do cài đặt rootkit hoặc đại loại như thế.
ssh-add -l
.