Genel anahtarı diğer kullanıcılar için ssh-copy-id ile kurun


26

ssh-copy-idortak anahtarınızı uzaktaki bir makineye kurmak için kullanılabilir authorized_keys. sudoYeteneğiniz varsa, aynı komut diğer kullanıcıların genel anahtarlarını yüklemek için de kullanılabilir mi?

Güncelleme: hem yerel hem de uzaktan kumanda Ubuntu 12.04 kullanıyor.

Güncelleme 2: yeni bir kullanıcı hesabı oluşturma ve ortak anahtar ekleme prosedürünü açıklayın

  1. (uzak) Yeni bir kullanıcı hesabı oluşturun ve bu dosyayı yalnızca kullanıcının genel anahtar erişimine ayarlayın.
  2. (yerel) Yeni kullanıcı hesabı için genel bir anahtar oluşturun (ssh-keygen).
  3. Normalde .ssh/authorized_keys, uzak sunucuda bir dizin ve dosya oluşturmak , daha sonra yerel olarak oluşturulan ortak anahtarı kopyalayıp yeni kullanıcının hesabına yapıştırmaktır. Aradığım şey, ssh-copy-idbu yeni oluşturulan kullanıcının genel anahtarını doğrudan ssh dizinine yüklemek için kullanabilirsem . Sadece birkaç komut daha kaydetmek için.

Yanıtlar:


12

Aynı komut değil, ancak uzak ana bilgisayarda sudo varsa, gerekli adımları uzaktan yapmak için ssh kullanabilirsiniz. Ssh anahtarımı ahududu kök kullanıcısına iletmek için aşağıdaki komutu kullanıyorum:

cat ~/.ssh/id_rsa.pub | \
  ssh pi@192.168.1.25 \
  "sudo mkdir /root/.ssh; sudo tee -a /root/.ssh/authorized_keys"
  • kediler benim bublic anahtarım
  • ssh için borular
  • ssh ahududuca ssh kullanıcısı olarak bağlanır
  • uzak / sot / sot oluşturmak için sudo kullanır
  • daha sonra sturanı (ilk kedinin anahtarını tutar) /root/.ssh/authorized_keys dosyasına eklemek için "tee -a" ile sudo kullanır.

Bunları bir senaryo olarak bir araya getirin, belki de uzak tarafa biraz chmod / chown ekleyin ve ihtiyacınız olanı elde edin.


Güzel ve komut ayırdığınız için teşekkür ederim.
Blake Frederick,

1

Evet :), Mesela, siz ubuntu ve siz

ssh-copy-id root@host-ip

Gördüğünüz gibi ana bilgisayar sunucusunda /root/.ssh/authorized_keysbiten dosya anahtarında ghost@ubuntu.
Bu, hayalet kullanıcının anahtar çiftini kopyaladığı ve artık şifre girmesi gerekmediği anlamına gelir. Şimdi bayrakla
çalışacağından emin değilim -u <username>, ancak her zaman farklı kullanıcı olarak giriş yapabilirsiniz.

su <user_name> 

ve sonra ssh-copy-id ...


1
Anahtar /root/.ssh/authorized_keysyerine yüklenecek /home/ghost/.ssh/authorized_keysmi? Yeni bir kullanıcı için ortak bir anahtar yüklemek için şu anda yapıyorum işlemi yeni yaptım. Sadece daha iyi bir yöntem arıyorum. Teşekkürler!
04

Anahtar, uzaktan bağlandığınız kullanıcının evine yüklenecektir. Hangi anahtarı kopyalamak istediğinizi belirtmek için ssh-copy-id'nin -i seçeneğini kullanabilirsiniz, ancak normal ssh-copy-id ile başka bir dizine kopyalayamazsınız.
user2313067

ssh-copy-id root @ host-
ip'ten

1
Sistem sadece genel anahtar ile giriş yapmak için kurulmuştur. Kullanıcı ghostyeni oluşturulduğundan, kullanıcı için açık anahtar yoktur. Bu yüzden önce kullanıcı için genel anahtarı kurmanız gerekiyor, sonra ssh-copy-id ghost@host-ipçalışacak. Ancak teşekkürler, uzaktaki sunucuda birkaç ekstra komutun büyük bir sorun olmayacağını düşünüyorum.
Reaguess

evet, önce pub üretmelisin. anahtar
yerel konum
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.