Tôi đang cố gắng thiết lập xác thực ssh với các tệp chính thay cho tên người dùng / mật khẩu. Máy khách là một hộp Windows chạy PuTTY và máy chủ là máy chủ Ubuntu 12.04 LTS.
Tôi đã tải xuống puttygen.exe và nó đã tạo ra một cặp khóa. Trong /etc/ssh/sshd_config
tôi có dòng này:
AuthorizedKeysFile %h/.ssh/authorized_keys
và trên tệp khóa công khai của khách hàng của tôi, nó ghi điều này:
---- BEGIN SSH2 PUBLIC KEY ----
Comment: "my@email.address.com"
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAr3Qo6T5XU06ZigGOd3eKvfBhFLhg5kWv8lz6
qJ2G9XCbexlPQGanPhh+vcPkhor6+7OmB+WSdHeNO652kTofnauTKcTCbHjsT7cJ
GNrO8WVURRh4fabknUHPmauerWQZ6TgRPGaz0aucU+2C+DUo2SKVFDir1vb+4u83
AV1pKxs=my@email.address.com
---- END SSH2 PUBLIC KEY ----
Tôi đã sao chép phần từ "ssh-rsa AAA" sang "my@email.address.com" và đặt phần đó vào tệp ~/.ssh/authorized_keys
trên máy chủ của tôi (trong trang chủ của chính tôi). Trong PuTTY trong Kết nối> SSH> Auth, tôi đã nhập đường dẫn đến khóa riêng được tạo trên máy khách của mình và lưu cài đặt phiên.
Tôi đã khởi động lại máy chủ ssh với
sudo service ssh restart
Bây giờ nếu tôi tải hồ sơ bằng PuTTY (tôi đã xác minh khóa riêng vẫn trong Kết nối> SSH> Xác thực và đường dẫn là chính xác) và chạy hồ sơ, nó nói
Server refused our key
Tôi đã thử đặt khóa công khai vào một tệp trong thư mục ./ssh/authorized_keys/
nhưng điều đó không giúp ích gì nên tôi đã sử dụng ./ssh/authorized_keys
như một tệp , dán khóa trong đó. Tôi cũng đã thử tạo một cặp khóa riêng / chung trên máy chủ, đặt khóa chung vào ./ssh/authorized_files
và tải khóa riêng trong PuTTY trên máy khách của tôi. Khởi động lại máy chủ cũng không giúp được gì.
Tôi thấy rằng lỗi có thể được khắc phục bằng cách đặt khóa ở một nơi bên ngoài thư mục nhà của người dùng nhưng điều đó chỉ hữu ích nếu thư mục nhà được mã hóa, điều này không được.
Cũng đã thử tạo khóa 4096 bit, nghĩ rằng có lẽ 1024 quá ngắn.
Làm thế nào tôi có thể làm điều này để làm việc? Cảm ơn!
BIÊN TẬP:
Ok, /var/log/auth.log
nói:
sshd: Authentication refused: bad ownership or modes for directory /home/vorkbaard/.ssh
Google bảo tôi ~/.ssh/
nên là 700 và ~/.ssh/authorized_keys
nên là 600, vì vậy tôi đã làm điều đó. Bây giờ /var/log/auth.log
nói:
sshd: error: key_read: uudecode AAAAB3N [etc etc etc until about 3/4 of my public key]
sshd: error: key_read: uudecode AAAAB3N
lỗi đó trongauth.log
?