Mengapa saya mendapatkan "Izin ditolak" saat menjalankan ssh-add?

3

Saya telah membuat kunci dan meminta mereka untuk akses dengan tim IT perusahaan saya. Namun, saya perlu menambahkannya ke terminal saya setiap kali saya memulai mesin saya (skrip yang telah saya berikan untuk menyiasati ini belum bekerja untuk saya). Jadi untuk saat ini saya harus mengeluarkan ssh-add ~/.ssh/keyfolder/private_keysetiap kali saya menghidupkan mesin saya.

Namun hari ini, saya mulai mendapatkan kesalahan ini:

~/.ssh/keyfolder/private_key: Permission denied

Saya sudah mencoba mengeluarkan chmod 777 pada kunci pribadi itu tetapi tidak berhasil.

Apa yang telah saya lakukan / saya lakukan salah?

$sudo ls -lha ~/.ssh/keyfolder/private_key
-rwxrwxrwx 1 rabdelaz staff 1.7K 2013-07-29 10:19 /home/rabdelaz/.ssh/keyfolder/private_key

JAWABAN: Saya membutuhkan tingkat izin yang tepat di tempat yang tepat (jelas).

jadi apa yang saya lakukan adalah mengatur "keyfolder" dan kunci sendiri ke 600.

tidak yakin apa permsion itu sebelumnya ...

Ramy
sumber
Berikan ls -lha ~/.ssh/keyfolder/private_key... mungkin chmod Anda tidak mengambil.
mikebabcock
1
Saya bingung, lsperintah Anda mengacu pada ~/.ssh/deployed/2013-07-29tetapi keluaran mencantumkan /home/rabdelaz/.ssh/keyfolder/private_keyapa yang terjadi?
terdon

Jawaban:

6

Anda ingin folder kunci dan kunci itu sendiri hanya dapat dibaca oleh pengguna. Saya selalu melakukannya chmod 700 ~/.ssh; chmod 600 ~/.ssh/*sendiri, di mana Anda tentu ingin mengubah direktori tersebut agar sesuai dengan use case Anda sendiri.

mikebabcock
sumber
3

Jangan pernah lakukan chmod 777pada kunci pribadi Anda! Itu membuatnya (mungkin) dapat dibaca publik, dan Anda tidak menginginkannya. Lebih jauh lagi, dalam beberapa kasus SSH bahkan akan menolak untuk menggunakan file dengan izin terlalu permisif, sehingga Anda bisa menembak diri sendiri dengan kaki ini.

Jika izin file bukan masalah, mungkin ada beberapa penyebab lainnya. Anda dapat memiliki izin yang tidak benar yang ditetapkan pada direktori mana pun ~/.sshatau ~/.ssh/keyfolder(secara teknis juga aktif ~tetapi kemudian ini bukan satu-satunya gejala). Gunakan ls -adluntuk memeriksa direktori tersebut. Mereka seharusnya memiliki rwxuntuk Anda, tetapi ---untuk kelompok dan dunia

Masalah lain mungkin (tetapi ini sangat jarang) adalah bahwa ssh-addbiner memiliki setuidbit yang diatur, menyebabkannya dijalankan sebagai pengguna yang berbeda, dan karenanya tidak memiliki hak untuk membaca kunci pribadi Anda. Gunakan ls -lh $(which ssh-add)untuk memeriksa ini.

dr. Sybren
sumber
1

Hal pertama yang harus dilakukan dalam situasi ini adalah menggunakan -vopsi untuk ssh (menambahkan verbose), sehingga Anda dapat melihat jenis metode otentikasi apa yang sedang dicoba dan apa hasilnya. Ini mungkin memberikan informasi halus tentang kemungkinan hal-hal salah yang mungkin terjadi. Kemudian Anda melihat jawaban yang diberikan oleh Sybren

Mayank Agarwal
sumber
ssh-addtidak mendukung -vbendera.
lalat styrofoam