SSH Anahtar İzinleri Chmod ayarları?


63

Websiteme ve veritabanlarına erişmek için makinemde SSH kullanmam gerekiyor (sembolik bir bağlantı kuruyorum - ancak kullanıyorum).

Aşağıdaki problem: Komuta girdim: ssh-keygen -t dsa
public / private dsa anahtar çifti oluşturmak için. Varsayılana kaydederim ( /home/user/.ssh/id_dsa): Ve iki kez parola girin

sonra bunu geri alıyorum:

UYARI: KORUMALI ÖZEL KEY DOSYA!
'/Home/etc.ssh/id_rsa' için izinler 0755 çok açık. Özel anahtar dosyalarınıza başkaları tarafından erişilemez. Bu özel anahtar dikkate alınmayacak. kötü izinler: anahtarı yoksay: [daha sonra VAR / LIB / SOMEWHERE içindeki DOSYA YOLU]

Şimdi bunun üzerinde çalışmak için denedim.

sudo chmod 600 ~/.ssh/id_rsa         sudo chmod 600 ~/.ssh/id_rsa.pub    

Fakat kısa süre sonra bilgisayarım dondu ve tekrar oturum açtıktan sonra bir tane vardı could not find .ICEauthority error. Bu sorunu çözdüm ve SSH dosyalarını sildim ancak gelecekte bu sorunları önlemek için doğru izinleri kullanabilmek istiyorum. ICEauthoriteyi nasıl ayarlamalıyım ya da SSH Anahtarlarını nereye kaydetmeliyim - ya da hangi izinlere sahip olmalıdır? Sanal makine kullanmak en iyisi olur mu?

Bunların hepsi çok yeni ve çok dik bir öğrenme eğrisindeyim, bu yüzden herhangi bir yardım için teşekkür ederim.


yazım hatası - sadece bir tuş takımı oluşturuldu!
crissixpaul

.ssh dir izinleri, anahtar izinler olarak eşit derecede önemlidir. O çalıştırmak düzeltmek için 600. olmalıdır: chmod -R 600 ~/.ssh.
KWubbufetowicz

4
aslında .ssh dizin izinlerinin 700 değil 600 olması gerekir. Yürütme izni size bu dizinin içinde ne olduğuna erişme iznidir. Öyleyse doğru komutlar olmalı chmod 700 $HOME/.sshvechmod 600 $HOME/.ssh/id_rsa
MelBurslan

.ICEauthority hakkındaki hata, gösterdiğiniz chmodkomutlarla ilgili değildir . Ya bu bir tesadüf ya da bize göstermediğin bazı diğer emirleri yerine getirdin.
Gilles 'SO- kötülük olmayı'

Yanıtlar:


92

chmod 600 ~/.ssh/id_rsa; chmod 600 ~/.ssh/id_rsa.pub(yani chmod u=rw,go= ~/.ssh/id_rsa ~/.ssh/id_rsa.pub) doğru.

chmod 644 ~/.ssh/id_rsa.pub(yani chmod a=r,u+w ~/.ssh/id_rsa.pub) da doğru olurdu, ama chmod 644 ~/.ssh/id_rsa(yani chmod a=r,u+w ~/.ssh/id_rsa) olmazdı. Genel anahtarınız genel olabilir, önemli olan özel anahtarınızın özel olmasıdır.

Ayrıca .sshdizininiz sadece sizin tarafınızdan yazılabilir olmalıdır: chmod 700 ~/.sshveya chmod u=rwx,go= ~/.ssh. Elbette okuyabilmeniz ve içindeki dosyalara erişebilmeniz gerekir (izin yürütme). Başkaları okuyabilirse doğrudan zararsızdır, ancak yararlı değildir.

İhtiyacın yok sudo. sudoKendi dosyalarınızı değiştirmek için kullanmayın , bu yalnızca hatalara yol açabilir.

Hakkında hata .ICEauthority, gösterdiğiniz chmodkomutlarla ilgili değildir . Ya bu bir tesadüf ya da bize göstermediğin bazı diğer emirleri yerine getirdin.


~ / .Ssh / known_hosts üzerindeki izinler ne olmalıdır?
nikc

0

Yukarıdaki cevapları eklemek istiyorum, benim için ev dizinimin ( ~/) de izinleri ve izinleri 755ne olursa olsun, izinleri olması gerekiyordu ~/.ssh. (Bu bir Synology NAS'taydı, tüm linux'lar için geçerli olmayabilir)

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.