Saya telah mencoba SSH ke server AWS Ubuntu saya dan menyalin direktori ke mesin lokal saya. Sepanjang proses saya mengalami kesalahan izin file yang berbeda (tercantum di bawah).
Apakah ada satu izin file khusus yang diperlukan untuk file .pem yang memungkinkan saya untuk SSH dan SCP?
Atau apakah saya perlu mengubah izin file dua kali - satu kali untuk SSH dan satu lagi untuk SCP setelah saya masuk?
Berikut adalah perintah yang saya gunakan:
SSH:
ssh -i sentiment.pem [email protected]
Salin dari jarak jauh ke komputer lokal dengan:
scp [email protected]:/home/ubuntu/sentimentfolder /Users/Toga/Desktop/sentimentlocal
Saya menggunakan Mac OS X 10.7.5.
Percobaan dan kesalahan:
1.) Setelah saya mengunduh file .pem, izinnya ditetapkan, I THINK: 0644
-rw-r - r - @ 1 staf Toga 1692 18 Feb 21:27 sentiment.pem
Saya kemudian mencoba SSH melalui terminal dan menerima yang berikut:
WARNING: UNPROTECTED PRIVATE KEY FILE!
Permissions 0644 for 'sentiment.pem' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: sentiment.pem
Permission denied (publickey).
2.) Saya memperbarui izin file ke: chmod 660 sentiment.pem
Setelah pembaruan, izin ditetapkan ke:
-rw-rw ---- @ 1 staf Toga 1692 18 Feb 21:27 sentiment.pem
Saya kemudian mencoba SSH melalui terminal dan menerima yang berikut:
WARNING: UNPROTECTED PRIVATE KEY FILE!
Permissions 0660 for 'sentiment.pem' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: sentiment.pem
Permission denied (publickey).
3.) Saya memperbarui izin file ke: chmod 600 sentiment.pem
Setelah pembaruan, izin ditetapkan ke:
-rw ------- @ 1 staf Toga 1692 18 Feb 21:27 sentiment.pem
Saya kemudian mencoba SSH melalui terminal dan berhasil !!
4.) Sekarang masuk, saya menjalankan perintah untuk menyalin direktori jarak jauh ke komputer lokal saya dengan:
scp [email protected]:/home/ubuntu/sentimentfolder /Users/Toga/Desktop/sentimentlocal
Yang mengembalikan:
Permission denied (publickey).
Perintah SCP Diupayakan:
1.) menambahkan perintah -i dan mereferensikan file .pem:
scp -i sentiment.pem [email protected]: / home / ubuntu / sentimentfolder / Pengguna / Toga / Desktop / sentimentlocal
2.) menambahkan perintah -i, mereferensikan file .pem, dan mengubah pengguna untuk AWS menjadi pengguna-ec2:
scp -i sentiment.pem [email protected]: / home / ubuntu / sentimentfolder / Pengguna / Toga / Desktop / sentimentlocal
3.) menambahkan perintah -i, mereferensikan filem .pem, mengubah pengguna untuk AWS menjadi pengguna-ec2, dan menambahkan path file lengkap untuk lokasi file .pem:
scp -i / Pengguna /Toga/Desktop/rollup/Personal/Serial_Project_Starter/sentiment/sentiment.pem [email protected]: / home / ubuntu / sentimen / Pengguna / Toga / Desktop / sentimentlocal
sumber
Jawaban:
Kunjungi di sini Cara Menghubungkan ke Amazon EC2 Secara Remote Menggunakan SSH atau merujuk di bawah.
Cara Menghubungkan ke Amazon EC2 dari Jarak Jauh Menggunakan SSH:
Buat direktori:
Pindahkan file .pem yang diunduh ke direktori .ssh yang baru saja kita buat:
Ubah izin file .pem sehingga hanya pengguna root yang dapat membacanya:
Buat file konfigurasi:
Masukkan teks berikut ke file konfigurasi:
Simpan file itu.
Gunakan perintah ssh dengan nama host DNS publik Anda untuk terhubung ke instance Anda.
misalnya:
sumber
scp -r
.chmod 400 {keyfile}.pem
adalah apa yang diperintahkan amazon dan berfungsi.sumber
Tampaknya Anda tidak seharusnya menggunakan alamat IP, tetapi nama host lengkap sistem dalam perintah SCP. Dokumen AWS menjelaskan hal ini di http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html di bawah bagian "Mentransfer File ke Linux / Unix Instans dari Linux / Unix dengan SCP".
Dan gunakan
-r
untuk menyalin direktori.Dan perhatikan bahwa nama pengguna default berbeda untuk gambar yang berbeda:
Jadi, gunakan perintah ini:
sumber
"Izin ditolak (publickey)" berasal dari server jauh, jadi Anda menggunakan kunci yang salah, itu tidak diizinkan untuk terhubung atau ada kesalahan ketik pada file otor_keys jarak jauh.
sumber
dan
sumber
ssh
perintah Anda (dan juga berikan referensi, jika mungkin). BTW,chmod 400
diberikan dalam jawaban sembilan bulan lalu.