SSH: "Izin 0644 untuk 'my_key.pub' terlalu terbuka."

21

Mengapa 0644yaitu -rw-r--r--terlalu terbuka untuk kunci SSH? Juga saya tidak dapat menemukan izin palsu di .sshdirektori ( 0700) atau direktori home ( 0731).

Btw Saya mendapatkan kesalahan ini saat menguji parafrase kunci melalui ssh-keygen -y -f my_key.pub

salam Hormat

pengguna2820379
sumber

Jawaban:

7

Anda mungkin menjalankan ssh-keygen pada file yang salah. ssh-keygen -yberoperasi pada file kunci pribadi . File ".pub" biasanya berisi kunci publik . Anda mungkin memiliki file di sana bernama my_key, tanpa ekstensi apa pun, dan itu seharusnya mode 0600. Itu adalah file yang harus berisi kunci pribadi.

Untuk langsung menjawab pertanyaan Anda, kunci SSH biasanya digunakan untuk mengizinkan koneksi ke server jauh tanpa kata sandi. Kepemilikan kunci pribadi akan memungkinkan seseorang untuk masuk ke akun Anda di sistem apa pun yang menerima kunci tersebut. ssh-keygen dan utilitas ssh lainnya memerlukan file kunci pribadi untuk memiliki izin terbatas karena file-file tersebut sensitif dan harus tetap aman.

Kenster
sumber
11

0644 di tidak seharusnya terlalu terbuka untuk kunci publik, tetapi terlalu terbuka untuk kunci pribadi Anda.

Kunci pribadi Anda harus memiliki izin 0600sementara kunci publik Anda memiliki izin 0644.

Omong-omong, Anda juga harus mengurus izin pada .sshfolder. Seharusnya memiliki izin 0700, sehingga hanya Anda, pemilik, yang memiliki kendali atas folder.

Mengenai direktori home Anda, izin menulis tidak seharusnya diberikan kepada grup dan orang lain.

Jalankan chmod go-w /home/usernameharus memperbaikinya.

pallxk
sumber
Sama sekali tidak mengikuti instruksi ini. Ini BUKAN apa yang harus Anda lakukan. Ini juga akan mengatur ulang semua izin direktori home. Anda HANYA harus memodifikasi .sshfolder dan id_rsafile itu sendiri, bukan seluruh direktori home Anda!
niftylettuce
9

Satu-satunya perintah yang perlu Anda jalankan adalah chmod 600 ~/.ssh/id_rsa. Itu dia.

Ini mengubah izin pada file sehingga pemilik (Anda) dapat membaca dan menulisnya, yang akan menghapus pesan kesalahan yang Anda terima.

niftylettuce
sumber
Diperbarui @TwistyImpersonator
niftylettuce
0

Jawaban di atas adalah valid tapi sebelum menjalankan setiap chmodperizinan memperbaiki, pastikan Anda IdentityFile(s) dalam ~/.ssh/configdo merujuk ke kunci pribadi Anda. Pemula dapat salah memahami dan merujuk ke kunci publik (dengan .pubekstensi) sebagai gantinya, sehingga mengarah ke kesalahan yang sama (karena izin file kunci publik terlalu terbuka untuk kunci pribadi).

Javarome
sumber