Làm cách nào để thêm khóa RSA vào tệp ủy quyền?


90

Tôi đã tạo khóa công khai RSA và tôi muốn thêm khóa đó vào authorized_keystệp, nhưng không có tệp nào như vậy trong máy Ubuntu 11.10 của tôi.

Làm cách nào để thêm khóa vào authorized_keys?

Câu trả lời:


105

Đảm bảo rằng khi thực hiện giải pháp của Michael Krelin, bạn thực hiện những điều sau

cat <your_public_key_file> >> ~/.ssh/authorized_keys

Lưu ý rằng dấu đôi >mà không có dấu gấp đôi >, nội dung hiện có của allow_keys sẽ bị ghi đè (nuked!) Và điều đó có thể không mong muốn


Bạn cần bao gồm cách xác định đúng thông tin khóa công khai, chỉ cần sao chép và dán thông tin đó sẽ không làm được. Ví dụ:
einarc

4
Bạn có thể giải thích tại sao sao chép / dán không hoạt động? Tôi chân thành tò mò.
mcsilvio

50
mkdir -p ~/.ssh/

Để ghi đè các phím được ủy quyền

cat <your_key >~/.ssh/authorized_keys

Để thêm vào cuối các phím được ủy quyền

cat <your_key >>~/.ssh/authorized_keys

Tôi đã tạo khóa ở phía máy khách và sao chép khóa đó vào máy chủ, nhưng sử dụng lệnh ssh 192.168.2.7, nó không cho phép đăng nhập.
Raji AC

Không cho phép đăng nhập nói gì?
Michael Krelin - hacker

khi thực hiện lệnh này nó yêu cầu mật khẩu của server.i muốn có một mật mã đăng nhập
Raji AC

Id (phần pub) có trong ~ / .ssh / allow_keys trên điều khiển từ xa không? Id (phần không phải pub) có được ssh sử dụng khi cố gắng đăng nhập không? Bạn có thể thử chỉ định nó một cách rõ ràng với -i. Ngoài ra, bạn có thể thử ssh -vvà bạn có thể kiểm tra quyền của các phím được phép của mình trên điều khiển từ xa. Và kiểm tra các bản ghi ở đó.
Michael Krelin - hacker

Bằng cách nào đó chúng ta có thể kiểm tra xem khóa đã được thêm vào chưa? Giống như nó được thực hiện bởi ssh-copy-id cho hệ thống từ xa
Dmitriusan

32

Tôi biết tôi trả lời quá muộn nhưng đối với bất kỳ ai khác cần điều này, hãy chạy lệnh sau từ máy cục bộ của bạn

cat ~/.ssh/id_rsa.pub | ssh user@192.168.1.1 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

điều này đã hoạt động hoàn toàn tốt. Tất cả những gì bạn cần làm chỉ là thay thế

user@192.168.1.1

với người dùng của riêng bạn cho máy chủ lưu trữ cụ thể đó


32

Đã có một lệnh trong ssh suite để thực hiện việc này tự động cho bạn. Tức là đăng nhập vào một máy chủ lưu trữ từ xa và thêm khóa công khai vào tệp ủy quyền của máy tính đó.

ssh-copy-id -i /path/to/key/file user@host.com

Nếu khóa bạn đang cài đặt ~/.ssh/id_rsathì bạn thậm chí có thể bỏ -icờ hoàn toàn.

Tốt hơn nhiều so với làm thủ công!


2
>ssh user@serverip -p portnumber 
>sudo bash (if user does not have bash shell else skip this line)
>cd /home/user/.ssh
>echo ssh_rsa...this is the key >> authorized_keys
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.