Để sử dụng ssh-id-copy, bạn cần cả id_rsa.pub và id_rsa?


19

Tôi đang cố gắng thiết lập khóa ssh truy cập thứ hai cho một người bạn. Anh ấy đã gửi cho tôi id_rsa.pub của anh ấy.

ssh-copy-id -i id_rsa.pub root@123.123.123.123
/usr/local/bin/ssh-copy-id: ERROR: failed to open ID file './id_rsa': No such file or directory

Tôi có cần anh ấy gửi cho tôi cả hai tập tin không?


1
.Pub là đủ. Và hãy nhớ rằng bạn luôn giữ bí mật khóa riêng của mình (mọi lúc!). Để thêm khóa mới, bạn có thể đơn giản nối thêm nội dung của .pub vào ủy quyền của bạn.
deagh 6/2/2015

2
@deaghBạn không cần giữ bí mật khóa riêng tư, bạn cần giữ an toàn.

Tập lệnh ssh-copy-id ở đây dường như không phát ra thông báo lỗi cụ thể đó. Tôi nhận thấy tập lệnh ssh-copy-id của bạn nằm trong / usr / local / bin. Nó có thể khác với phiên bản thường được sử dụng của lệnh.
Kenster

Câu trả lời:


12

Các ssh-copy-idlệnh từ OpenSSH thất bại nếu không có tập tin khóa riêng có cùng tên có sẵn, vì nó cố gắng đăng nhập với phím định để kiểm tra xem nó đã có mặt trên máy chủ từ xa.

Trong các phiên bản gần đây, bạn có thể ghi đè hành vi này bằng công -ftắc ("Chế độ cưỡng bức").

Từ trang người đàn ông :

-f

    Chế độ cưỡng bức: không kiểm tra xem các phím có trên máy chủ từ xa không. Điều này có nghĩa là nó không cần khóa riêng. Tất nhiên, điều này có thể dẫn đến nhiều hơn một bản sao của khóa được cài đặt trên hệ thống từ xa.


1
đứng lên, thứ tự của các tham số là nghiêm ngặt. -fchỉ hoạt động như mong đợi nếu bạn vượt qua nó trước khi các -icuộc tranh cãi. ssh-copy-id -i mykey.pub -f otheruser@hostchỉ phàn nàn, cho đến khi bạn di chuyển -f ở phía trước.
init_js

5

Thế .publà đủ. Bạn không ở trong thư mục chính xác.

Bạn có thể thử điều này:

ssh-copy-id -i /root/.ssh/id_rsa.pub root@123.123.123.123

(đối với người dùng root: không được đề xuất, đây chỉ là một ví dụ).

Tập tin này nằm dưới .sshthư mục trên thư mục người dùng.


4
Trên mac, nó cũng cần -fnếu bạn không có khóa riêng, tôi nghĩ
Stevie G


1

Như đã đề cập ở đây đây là một lỗi.

Dù sao, bạn có thể chỉ cần tạo một tập tin trống để làm cho nó hoạt động. Trong trường hợp của bạn:

$ touch ./id_rsa
$ ssh-copy-id -i id_rsa.pub root@123.123.123.123

Tôi đã có cùng một vấn đề và điều này đã làm việc cho tôi


-1

nó hoạt động với tôi câu hỏi là khi nó hỏi "Nhập tệp để lưu khóa (/Users/xiaoyu/.ssh/id_rsa):" bạn nên nhập id_rsa

và sử dụng lệnh "ssh-copy-id -i ~ / .ssh / id_rsa.pub polytech@192.168.0.102"

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.