ssh mengembalikan "Pemilik buruk atau izin pada ~ / .ssh / config"


366

Ketika saya mencoba ssh ke kotak lain, saya mendapatkan kesalahan aneh ini

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

Tetapi saya memastikan bahwa saya memiliki dan memiliki izin baru pada file tersebut:

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

Saya hanya punya pesan yang sama. Kasus saya berbeda. Saya memiliki IdentityFile ~/.ssh/id_rsaset global , jadi ketika saya mencoba mengakses user@myserver.com itu mencoba menggunakan id_rsa itu tanpa mempertanyakan kata sandi saya. Hindari IdentityFile global dan semuanya akan berjalan dengan baik.
— giovannipds

Jawaban:


569

Saya perlu memiliki rw untuk izin hanya pengguna di konfigurasi. Ini memperbaikinya.

chmod 600 ~/.ssh/config

Seperti yang orang lain catat di bawah, itu bisa menjadi pemilik file. (Suara positif mereka!)

chown $USER ~/.ssh/config

22
Terkadang bukan hanya izin, tetapi juga pemilik yang dapat menyebabkan masalah; dalam kasus saya, saya harus melakukan ini juga:chown -R robert:robert ~/.ssh
— Nicolas C

3
Dalam kasus saya, beralih dari 644 ke 600 berhasil.
— Magicsowon

2
Izin baca saja sudah cukup, yaitu400
— 030

1
Bagi saya, 600tidak berhasil, hanya 400(di Ubuntu Xenial)
— Martín Coll

@ 030 Selama Anda tidak berniat mengedit file ..
— Sean the Bean

64

Perintah-perintah ini harus memperbaiki masalah izin:

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

Awali dengan sudojika file dimiliki oleh pengguna yang berbeda (atau Anda tidak memiliki akses ke sana).

Jika lebih banyak file terpengaruh, ganti configdengan *.

Di dalamnya man sshkita bisa membaca:

Karena potensi penyalahgunaan, file ini harus memiliki izin ketat: baca / tulis untuk pengguna, dan tidak dapat ditulisi oleh orang lain. Mungkin dapat ditulis kelompok asalkan grup tersebut hanya berisi pengguna.


3
Ini berhasil bagi saya. Saya menggunakan cygwin dan cygwin .ssh dikaitkan dengan pengguna windows .ssh. Saya harus menjalankan perintah itu di jendela cygwin.
— Damodar Bashyal

Ini berhasil untuk saya.
— Viraj.Hadoop

12

Bagi saya itu adalah masalah dengan akun pengguna saya yang bukan pemilik file

sudo chown myuser ~/.ssh/config

2

Secara default pada WSL (Subsistem Windows untuk Linux) chmod tidak berpengaruh. Sebelum Anda dapat chmod, file yang disebutkan dalam jawaban lain harus Anda tambahkan

[automount]
options = "metadata"

untuk /etc/wsl.confkemudian restart WSL Anda (memerlukan build 17093 atau lebih baru).

Sebelum mount mengatakan:

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

Setelah mount mengatakan:

C: on /mnt/c type drvfs (rw,noatime,uid=1000,gid=1000,metadata,case=off)
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.