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_key
setiap 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 ...
sumber
ls -lha ~/.ssh/keyfolder/private_key
... mungkin chmod Anda tidak mengambil.ls
perintah Anda mengacu pada~/.ssh/deployed/2013-07-29
tetapi keluaran mencantumkan/home/rabdelaz/.ssh/keyfolder/private_key
apa yang terjadi?Jawaban:
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.sumber
Jangan pernah lakukan
chmod 777
pada 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
~/.ssh
atau~/.ssh/keyfolder
(secara teknis juga aktif~
tetapi kemudian ini bukan satu-satunya gejala). Gunakanls -adl
untuk memeriksa direktori tersebut. Mereka seharusnya memilikirwx
untuk Anda, tetapi---
untuk kelompok dan duniaMasalah lain mungkin (tetapi ini sangat jarang) adalah bahwa
ssh-add
biner memilikisetuid
bit yang diatur, menyebabkannya dijalankan sebagai pengguna yang berbeda, dan karenanya tidak memiliki hak untuk membaca kunci pribadi Anda. Gunakanls -lh $(which ssh-add)
untuk memeriksa ini.sumber
Hal pertama yang harus dilakukan dalam situasi ini adalah menggunakan
-v
opsi 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 Sybrensumber
ssh-add
tidak mendukung-v
bendera.