Saya sedang bekerja untuk mengatur Panda pada instance Amazon EC2. Saya mengatur akun dan alat saya tadi malam dan tidak punya masalah menggunakan SSH untuk berinteraksi dengan contoh pribadi saya, tetapi saat ini saya tidak diizinkan izin ke instance EC2 Panda. Memulai dengan Panda
Saya mendapatkan kesalahan berikut:
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
Permissions 0644 for '~/.ec2/id_rsa-gsg-keypair' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
Saya telah mengubah keypair saya menjadi 600 untuk masuk ke contoh pribadi saya tadi malam, dan bereksperimen panjang lebar menetapkan izin ke 0 dan bahkan menghasilkan string kunci baru, tetapi sepertinya tidak ada yang berhasil.
Bantuan apa pun akan sangat membantu!
Hm, seolah-olah kecuali izin ditetapkan ke 777 pada direktori, skrip EC2-run-instance tidak dapat menemukan file kunci saya. Saya baru mengenal SSH jadi saya mungkin mengabaikan sesuatu.
chmod 400 ~/.ssh/id_rsa
Referensi: stackoverflow.com/a/9270753/2082569Jawaban:
Dan memang begitulah seharusnya.
Dari dokumentasi EC2 kami memiliki "Jika Anda menggunakan OpenSSH (atau klien SSH yang cukup paranoid) maka Anda mungkin perlu mengatur izin file ini sehingga hanya dapat dibaca oleh Anda." Dokumentasi Panda yang Anda tautkan ke tautan ke dokumentasi Amazon tetapi benar-benar tidak menyampaikan betapa pentingnya semua itu.
Idenya adalah bahwa pasangan file kunci seperti kata sandi dan perlu dilindungi. Jadi, klien ssh yang Anda gunakan mengharuskan file-file itu diamankan dan hanya akun Anda yang dapat membacanya.
Mengatur direktori ke 700 benar-benar sudah cukup, tetapi 777 tidak akan sakit selama file tersebut 600.
Setiap masalah yang Anda hadapi adalah sisi klien, jadi pastikan untuk memasukkan informasi OS lokal dengan pertanyaan tindak lanjut!
sumber
Pastikan direktori yang berisi file kunci pribadi diatur ke 700
sumber
Untuk memperbaikinya, 1) Anda harus mengatur ulang izin kembali ke default:
sudo chmod 600 ~/.ssh/id_rsa sudo chmod 600 ~/.ssh/id_rsa.pub
Jika Anda mendapatkan kesalahan lain: Anda yakin ingin melanjutkan koneksi (ya / tidak)? ya Gagal menambahkan host ke daftar host yang dikenal (/home/geek/.ssh/known_hosts).
2) Ini berarti bahwa izin pada file itu juga diatur secara tidak benar, dan dapat disesuaikan dengan ini:
sudo chmod 644 ~/.ssh/known_hosts
3) Akhirnya, Anda mungkin perlu menyesuaikan izin direktori juga:
sudo chmod 755 ~/.ssh
Ini akan membuat Anda kembali dan berjalan.
sumber
File kunci pribadi harus dilindungi. Dalam kasus saya, saya telah menggunakan otentikasi public_key untuk waktu yang lama dan saya digunakan untuk mengatur izin sebagai 600 (rw- --- ---) untuk kunci pribadi dan 644 (rw- r-- r--) dan untuk folder .ssh di folder home Anda akan memiliki 700 izin (rwx --- ---). Untuk pengaturan ini buka folder home pengguna dan jalankan perintah berikut
Tetapkan 700 izin untuk folder .ssh
Tetapkan izin 600 untuk file kunci pribadi
Tetapkan 644 izin untuk file kunci publik
sumber
Saya juga mendapatkan masalah yang sama, tetapi saya memperbaikinya dengan mengubah izin file kunci saya menjadi 600.
sudo chmod 600 /path/to/my/key.pem
Tautan: http://stackabuse.com/how-to-fix-warning-unprotected-private-key-file-on-mac-and-linux/
sumber
Simpan kunci pribadi Anda, kunci publik, known_hosts di direktori yang sama dan coba masuk seperti di bawah ini:
cd /Users/prince/Desktop
,. Sekarang ketikls
perintah dan Anda akan melihat**.pem **.ppk known_hosts
Catatan: Anda harus mencoba masuk dari direktori yang sama atau Anda akan mendapatkan izin ditolak kesalahan karena tidak dapat menemukan file .pem dari direktori Anda saat ini.
Jika Anda ingin dapat SSH dari direktori mana pun, Anda dapat menambahkan berikut ini ke
~/.ssh/config
file Anda ...Sekarang Anda dapat SSH ke server Anda di mana pun direktori berada dengan hanya mengetik
ssh your.server
(atau nama apa pun yang Anda tempatkan setelah "Host").sumber
Di windows, Coba gunakan git bash dan gunakan perintah Linux Anda di sana. Pendekatan yang mudah
sumber
Ubah Izin File menggunakan perintah chmod
sumber
Saya sedang memikirkan hal lain, jika Anda mencoba masuk dengan nama pengguna lain yang tidak ada, inilah pesan yang akan Anda dapatkan.
Jadi saya berasumsi Anda mungkin mencoba ssh dengan pengguna ec2 tapi saya ingat baru-baru ini sebagian besar centos AMI misalnya menggunakan pengguna centos daripada pengguna ec2
jadi jika Anda
ssh -i file.pem centos@public_IP
tolong beri tahu saya bahwa Anda berniat untuk ssh dengan nama pengguna yang tepat jika tidak, ini mungkin menjadi alasan kuat Anda melihat pesan kesalahan seperti itu bahkan dengan izin yang tepat pada ~ / .ssh / id_rsa atau file.pem Andasumber
Hanya catatan untuk siapa saja yang menemukan ini:
Jika Anda mencoba SSH dengan kunci yang telah dibagikan dengan Anda, misalnya:
ssh -i /path/to/keyfile.pem user@some-host
Di mana
keyfile.pem
kunci privat / publik dibagikan dengan Anda dan Anda menggunakannya untuk menghubungkan, pastikan Anda menyimpannya di~/.ssh/
danchmod 777
.Mencoba menggunakan file ketika disimpan di tempat lain di mesin saya memberikan kesalahan OP. Tidak yakin apakah itu terkait langsung.
sumber
Solusinya adalah membuatnya hanya dapat dibaca oleh pemilik file, yaitu dua digit terakhir dari representasi mode oktal harus nol (misalnya mode
0400
).OpenSSH memeriksa ini
authfile.c
, dalam suatu fungsi bernamasshkey_perm_ok
:Lihat baris pertama setelah komentar: ia melakukan "bitwise dan" terhadap mode file, memilih semua bit dalam dua digit oktal terakhir (karena
07
oktal untuk0b111
, di mana masing-masing bit singkatan dari r / w / x, masing-masing) .sumber