Authorized_keys dosyasına RSA anahtarı nasıl eklenir?


93

Bir RSA genel anahtarı oluşturdum ve bunu authorized_keysdosyaya eklemek istiyorum , ancak Ubuntu 11.10 makinemde böyle bir dosya yok.

Anahtarı nasıl ekleyebilirim authorized_keys?

Yanıtlar:


110

Michael Krelin'in çözümünü uygularken aşağıdakileri yaptığınızdan emin olun

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

Yetkili anahtarların mevcut içeriğinin >iki katı olmadan iki >katının üzerine yazılacağını (nuked!) Ve bunun istenmeyebileceğini unutmayın.


Açık anahtar bilgilerinin nasıl düzgün bir şekilde sınıflandırılacağını eklemeniz gerekir, basitçe kopyalayıp yapıştırmak işe yaramaz. Örneğin:
einarc

4
Kopyalamanın / yapıştırmanın neden işe yaramayacağını açıklayabilir misiniz? Ben içtenlikle merak ediyorum.
mcsilvio

Unutmayın, ssh hizmetini yeniden başlatmak için systemd çalıştırıyorsanız veya yeni anahtarları sudo systemctl restart sshd
Kes

52
mkdir -p ~/.ssh/

Yetkili anahtarların üzerine yazmak için

cat your_key > ~/.ssh/authorized_keys

Yetkili anahtarların sonuna eklemek için

cat your_key >> ~/.ssh/authorized_keys

İstemci tarafında anahtar oluşturdum ve bu anahtarı sunucu makineye kopyaladım, ancak ssh 192.168.2.7 komutunu kullanarak oturum açmaya izin vermiyor.
Raji AC

Girişe ne demesine izin vermiyor?
Michael Krelin - hacker

bu komutu yürütürken sunucunun şifresini sorar. şifresiz giriş istiyorum
Raji AC 13'12

Kimlik (yayın bölümü) uzaktaki ~ / .ssh / yetkili_keys içinde mi? Kimlik (pub olmayan kısım) oturum açmaya çalışırken ssh tarafından mı kullanılıyor? İle açıkça belirtmeyi deneyebilirsiniz -i. Ayrıca, deneyebilir ssh -vve uzaktan kumandadaki yetkili anahtarlarınızın izinlerini kontrol edebilirsiniz. Ve oradaki günlükleri kontrol edin.
Michael Krelin - hacker

Anahtarın önceden eklenip eklenmediğini bir şekilde kontrol edebilir miyiz? Uzak sistem için ssh-copy-id tarafından yapıldığı gibi
Dmitriusan

33

Çok geç cevap verdiğimi biliyorum ama buna ihtiyaç duyan herhangi biri için yerel makinenizden aşağıdaki komutu çalıştırın

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

bu gayet iyi çalıştı. Tek yapmanız gereken sadece değiştirmek

user@192.168.1.1

söz konusu ana bilgisayar için kendi kullanıcınızla


33

Ssh paketinde bunu sizin için otomatik olarak yapacak bir komut zaten var. Örneğin, uzak bir ana bilgisayarda oturum açın ve genel anahtarı bu bilgisayarların official_keys dosyasına ekleyin.

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

Yüklediğiniz anahtar ise ~/.ssh/id_rsa, -ibayrağı tamamen bırakabilirsiniz .

Manuel olarak yapmaktan çok daha iyi!


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
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.