Cài đặt khóa chung qua ssh-copy-id cho người dùng khác


26

ssh-copy-idcó thể được sử dụng để cài đặt khóa chung của bạn trong một máy từ xa authorized_keys. Lệnh tương tự có thể được sử dụng để cài đặt khóa chung của người dùng khác không, nếu bạn có sudokhả năng?

Cập nhật: cả cục bộ và từ xa đều đang sử dụng Ubuntu 12.04.

Cập nhật 2: mô tả quy trình tạo tài khoản người dùng mới và thêm khóa chung

  1. (từ xa) Tạo tài khoản người dùng mới và chỉ đặt tài khoản đó thành quyền truy cập khóa công khai của người dùng.
  2. (cục bộ) Tạo khóa chung cho tài khoản người dùng mới (ssh-keygen).
  3. Thông thường tôi làm là tạo thư mục và tệp .ssh/authorized_keystrên máy chủ từ xa, sau đó sao chép và dán khóa chung được tạo cục bộ vào tài khoản của người dùng mới. Điều tôi đang tìm kiếm là nếu tôi có thể sử dụng ssh-copy-idđể cài đặt khóa công khai của người dùng mới được tạo này trực tiếp vào thư mục ssh. Chỉ để lưu thêm một vài lệnh.

Câu trả lời:


12

Không phải cùng một lệnh nhưng nếu bạn có sudo trên máy chủ từ xa, bạn có thể sử dụng ssh để thực hiện các bước cần thiết từ xa. Tôi sử dụng lệnh sau để đẩy khóa ssh của mình đến người dùng root của mâm xôi:

cat ~/.ssh/id_rsa.pub | \
  ssh pi@192.168.1.25 \
  "sudo mkdir /root/.ssh; sudo tee -a /root/.ssh/authorized_keys"
  • mèo khóa cộng hòa của tôi
  • ống nó đến ssh
  • ssh kết nối với mâm xôi của tôi với tư cách là người dùng ssh
  • trên điều khiển từ xa sử dụng sudo để tạo /root/.ssh
  • sau đó sử dụng sudo với "tee -a" để nối thêm stdin (giữ khóa từ con mèo đầu tiên) vào /root/.ssh/authorized_keys

Chỉ cần đặt các công cụ này với nhau như một kịch bản, có thể thêm một số chmod / chown ở phía xa và bạn có những gì bạn cần.


Đẹp và cảm ơn bạn cho sự cố lệnh.
Blake Frederick

1

Có :), ví dụ: nếu bạn đăng nhập là ghost @ ubfox và bạn

ssh-copy-id root@host-ip

Hơn bạn sẽ thấy, trên máy chủ lưu trữ trong /root/.ssh/authorized_keyskhóa tập tin kết thúc bằng ghost@ubuntu.
Điều đó có nghĩa là người dùng ma đã sao chép cặp khóa của mình và không phải nhập mật khẩu nữa.
Tôi không chắc chắn nó sẽ hoạt động với -u <username>cờ bây giờ, nhưng bạn luôn có thể đăng nhập như người dùng khác với

su <user_name> 

và sau đó ssh-copy-id ...


1
Chìa khóa sẽ được cài đặt trên /root/.ssh/authorized_keysthay vì /home/ghost/.ssh/authorized_keys? Tôi vừa cập nhật quy trình tôi đang làm để cài đặt khóa chung cho người dùng mới. Chỉ cần tìm kiếm một phương pháp tốt hơn. Cảm ơn!
tế

Khóa sẽ được cài đặt tại nhà của người dùng bạn đang kết nối từ xa. Bạn có thể sử dụng tùy chọn -i của ssh-copy-id để chỉ định khóa nào bạn muốn sao chép, nhưng bạn không thể sao chép nó sang thư mục khác với ssh-copy-id bình thường.
dùng2313067

bạn có thể chỉ định người dùng nào sẽ sao chép khóa, nếu bạn muốn đăng nhập bằng root hơn ssh-copy-id root @ host-ip, nếu bạn muốn là ghost hơn ssh-copy-id ghost @ host-ip
mirkobrankovic

1
Hệ thống được thiết lập để chỉ cho phép đăng nhập bằng khóa chung. Vì người dùng ghostmới được tạo, không có khóa công khai có sẵn cho người dùng. Đó là lý do tại sao cần cài đặt khóa chung cho người dùng trước, sau đó ssh-copy-id ghost@host-ipsẽ hoạt động. Nhưng cảm ơn, tôi nghĩ rằng một vài lệnh bổ sung trên máy chủ từ xa sẽ không phải là vấn đề lớn.
tế

vâng, trước tiên cần tạo pub. khóa địa phương và hơn ssh-copi-id đến máy chủ từ xa
mirkobrankovic
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.