ssh “Kötü sahibi veya izinleri ~ / .ssh / config” ile döndürür


366

Başka bir kutuya ssh göndermeye çalıştığımda bu garip hatayı alıyorum

$ ssh hostname
Bad owner or permissions on ~/.ssh/config

Ancak dosyada sahip olduğumdan ve izinlere sahip olduğumdan emin oldum:

ls -la ~/.ssh/
total 40K
drwx------ 2 robert robert 4.0K Mar 29 11:04 ./
drwx------ 7 robert robert 4.0K Mar 29 11:04 ../
-rw-r--r-- 1 robert robert 2.0K Mar 17 20:47 authorized_keys
-rw-rw-r-- 1 robert robert   31 Mar 29 11:04 config
-rw------- 1 robert robert 1.7K Aug  4  2010 id_rsa
-rw-r--r-- 1 robert robert  406 Aug  4  2010 id_rsa.pub
-rw-r--r-- 1 robert robert 6.1K Mar 29 11:03 known_hosts

Ben de aynı mesajı aldım. Benim durumum farklıydı. Global bir IdentityFile ~/.ssh/id_rsaset kuruyordum, bu yüzden user@myserver.com adresine erişmeye çalışırken bu şifreyi sormadan bana id_rsa kullanmaya çalışıyordu. Global IdentityFile'dan sakının, her şey yoluna girecek.
— giovannipds

Yanıtlar:


569

Config üzerinde sadece kullanıcı izinleri için rw'ye ihtiyacım vardı. Bu düzeltti.

chmod 600 ~/.ssh/config

Diğerlerinin de belirttiği gibi, dosya sahibi olabilir. (onları oyla!)

chown $USER ~/.ssh/config

22
Bazen sadece izinler değil, aynı zamanda soruna neden olabilecek sahibi de olur; benim durumumda da bunu yapmak zorunda kaldım:chown -R robert:robert ~/.ssh
— Nicolas C

3
Benim durumumda 644'ten 600'e gitmek numarayı yaptı.
— Magicsowon

2
Sadece okuma izni yeterli olmalı, yani400
— 030

1
Benim 600için işe yaramadı, sadece 400(Ubuntu Xenial'da)
— Martín Coll

@ 030 Dosyayı düzenleme niyetinde olmadığınız sürece ..
— Sean the Bean,

64

Bu komutlar izin problemini çözmelidir:

chown $USER ~/.ssh/config
chmod 644 ~/.ssh/config

sudoDosyaların farklı bir kullanıcıya ait olup olmadıklarına ilişkin önek (veya onlara erişiminiz yoksa).

Daha fazla dosya etkileniyorsa, yerini configile *.

Gelen man sshbiz okuyabilir:

Kötüye kullanım potansiyeli nedeniyle, bu dosyanın katı izinleri olmalıdır: kullanıcı için okuma / yazma ve başkaları tarafından yazılamaz. Söz konusu grubun yalnızca kullanıcıyı içermesi koşuluyla, grup olarak yazılabilir.


3
Bu benim için hile yaptı. Ben kullanıyorum cygwin ve cygwin .ssh, windows kullanıcısına .ssh ile bağlanıyor. Bu komutları cygwin penceresinde çalıştırmak zorunda kaldım.
— Damodar Bashyal

Bu benim için çalıştı.
— Viraj.Hadoop

12

Benim için kullanıcı hesabımın dosyanın sahibi olmaması bir sorun oldu

sudo chown myuser ~/.ssh/config

2

WSL'de (Linux için Windows Alt Sistemi) varsayılan olarak chmod'un hiçbir etkisi yoktur. chmodDiğer cevaplarda belirtilen dosyaları açabilmeniz için önce eklemelisiniz.

[automount]
options = "metadata"

senin için /etc/wsl.confdaha sonra wsl yeniden (17093 veya daha sonra inşa gerektirir).

Mount demeden önce:

C: on /mnt/c type drvfs (rw,noatime,uid=1000,gid=1000,case=off)

Mount'dan sonra diyor ki:

C: on /mnt/c type drvfs (rw,noatime,uid=1000,gid=1000,metadata,case=off)
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.