SSH Anahtarlarını authorized_keys dosyasına nasıl eklerim?
Amazon EC2 üzerinde geliştirme için kullandığım bir Ubuntu sunucum var ve bugün aptalca bir şekilde ~/.ssh/authorized_keys
dosyamdaki her şeyi temizledim. Neyse ki açık bir SSH'im var, bu yüzden hala bağlıyım ve dosyayı düzeltebiliyorum, ancak anahtar dosyamı geri koymaya çalıştığımda çalışmıyor. Yerel makinemdeki sunucudan hala izin reddedildi uyarısı alıyorum.
authorized_keys
600 izinlerine sahiptir. SSH anahtarımı ssh-rsa ile eklemeyi ve ssh-rsa'yı kapalı bırakmayı denedim. SSH anahtarını tek satır yapmayı da denedim ama bu da işe yaramadı.
Dosyayı yeniden yüklemek gibi yapmam gereken başka bir şey var mı?
188
3
İçeriği
-----BEGIN RSA PRIVATE KEY-----
ile başlayan dosyayı asla sunucuya kaydetmemelisiniz, bu sizin özel anahtarınızdır. Bunun yerine, public anahtarı~/.ssh/authorized_keys
dosyasına koymalısınız.Bu public anahtar
ssh-keygen
kullanılarak oluşturulduğunda.pub
uzantısına sahiptir ve içeriğissh-rsa AAAAB3
ile başlar. (İkili biçim [bu sorunun] yanıtlarında açıklanmıştır (https://stackoverflow.com/q/12749858/427545)).Sunucu üzerindeki
~/.ssh
izinleri 700 olmalıdır. Sunucudaki~/.ssh/authorized_keys
dosyasının modunun 600 olması gerekir. İstemci tarafındaki (özel) anahtarın izinleri 600 olmalıdır.Özel anahtar bir parola ile korunmuyorsa ve bunu sunucuya koyduysanız, yeni bir tane oluşturmanızı tavsiye ederim:
Silinen özel anahtarı kimsenin sunucudan kurtaramayacağından tamamen eminseniz bunu atlayabilirsiniz.
Bu işe yaramazsa, daha fazla ayrıntı için
ssh
seçeneğini çalıştırın:Sunucu tarafında, ayrıntılar için
/var/log/auth.log
dosyasını inceleyebilirsiniz.Oturum açma tabanlı kimlik doğrulamanız varsa, açık anahtarlarınızı uzak sunucuya eklemek için
ssh-copy-id
kullanın.