Saya mencoba menggunakan Terminal Mac saya untuk scp file dari Unduhan (phpMyAdmin saya unduh online) ke instance Amazon EC2 saya.
Perintah yang saya gunakan adalah:
scp -i myAmazonKey.pem phpMyAdmin-3.4.5-all-languages.tar.gz [email protected]:~/.
Kesalahan yang saya dapatkan: Peringatan: File identitas myAmazonKey.pem tidak dapat diakses: Tidak ada file atau direktori tersebut. Izin ditolak (publickey). kehilangan koneksi
Baik myAmazonkey.pem dan phpMyAdmin-3.4.5-all-languages.tar.gz saya ada di Unduhan, jadi saya mencoba
scp -i /Users/Hello_Kitty22/Downloads/myAmazonKey.pem /Users/Hello_Kitty22/Downloads/phpMyAdmin-3.4.5-all-languages.tar.gz [email protected]:~/.
dan kesalahan yang saya dapatkan: Peringatan: File identitas / Pengguna / Halo_Kitty22/Downloads / myAmazonkey.pem tidak dapat diakses: Tidak ada file atau direktori tersebut. Izin ditolak (publickey). kehilangan koneksi
Adakah yang bisa tolong beri tahu saya cara memperbaiki masalah saya?
ps ada posting serupa: scp (salinan aman) ke contoh EC2 tanpa kata sandi tetapi tidak menjawab pertanyaan saya.
sumber
Jawaban:
Coba tentukan pengguna yang akan
ec2-user
, misalnyaLihat Menghubungkan ke Linux / UNIX Instances Menggunakan SSH .
sumber
:/
akan mencoba menyalin folder ke root sistem, yang akan memberikan kesalahan izin pada semua mesin tanpa menjalankan sudo (atau sebagai root).direktori kedua adalah tujuan target Anda, jangan gunakan nama server di sana. Dengan kata lain, Anda tidak perlu menyebutkan nama mesin untuk mesin yang Anda gunakan saat ini.
-r jika itu direktori.
sumber
Kunci Anda tidak boleh dapat dilihat oleh publik agar SSH berfungsi. Gunakan perintah ini jika perlu:
sumber
Anda harus berada di komputer lokal Anda untuk mencoba perintah scp di atas.
Di mesin lokal Anda coba:
sumber
Berikut ini rincian yang berfungsi untuk instance EC2 :
Beberapa catatan untuk permulaan:
-i
scp
singkatan protokol salinan aman. Mengetahui kata-kata membuatnya lebih mudah untuk mengingat perintah.-i
menentukan bahwa Anda perlu memberikan.pem
file sebagai param berikutnya. Jika tidak ada-i
, maka Anda tidak perlu.pem
.:~
di akhir tujuan untuk instance EC2.sumber
Saya memiliki masalah yang persis sama, solusi saya adalah untuk
scp -i /path/pem -r /path/file/ ec2-user@public aws dns name:
(biarkan kosong di sini)setelah Anda selesai bagian ini, masuk ke server ssh dan file mv ke lokasi yang diinginkan
sumber
sumber
Format SCP di bawah ini berfungsi untuk saya
SampleFile.txt : Ini akan menjadi path dari direktori root Anda (Dalam kasus saya, / home / ubuntu). dalam kasus saya file yang ingin saya unduh ada di / var / www
SampleFile2.txt : Ini akan menjadi path dari path root mesin Anda (Dalam kasus saya, / home / MyPCUserName)
Jadi, saya harus menulis perintah di bawah ini
sumber
Kirim file dari Lokal ke Server:
Unduh file dari Server ke Lokal:
sumber
Proses menggunakan SCP untuk menyalin file dari mesin lokal ke instance AWS EC2 Linux dibahas langkah demi langkah (termasuk poin yang disebutkan di bawah) dalam video ini .
Untuk memperbaiki masalah khusus ini dengan menggunakan SCP:
Anda perlu menentukan pengguna Linux yang benar. Dari Amazon :
Kunci pribadi Anda tidak boleh terlihat oleh publik. Jalankan perintah berikut ini sehingga hanya pengguna root yang dapat membaca file.
sumber
Periksa izin pada file .pem ... openssh biasanya tidak suka kunci pribadi yang dapat dibaca dunia, dan akan gagal (iir, scp tidak melakukan pekerjaan yang baik dalam memberikan umpan balik ini kepada pengguna).
Bisakah Anda ssh dengan kunci itu ke host AWS Anda?
sumber
Pertama, Anda harus mengubah mode
.pem
file dari mode baca dan tulis menjadi mode hanya baca. Ini dapat dilakukan hanya dengan satu perintah di terminalsudo chmod 400 your_public_key.pem
sumber
Saya mencoba semua saran yang disebutkan di atas dan tidak ada yang berhasil. Saya mengakhiri instance saat ini, meluncurkan yang lain dan mengulangi proses yang sama persis. Kali ini tidak ada masalah. Terkadang itu mungkin kesalahan remote ami.
sumber
Ini hanya bekerja untuk saya. Saya menggunakan kombinasi dua jawaban lain untuk pertanyaan ini.
"[email protected]" disalin dan ditempel dari DNS publik instance EC2 Anda.
sumber
Saya akan menggunakan:
scp -i "path to .pem file" "file to be copeide from local machine" username@amazoninstance: 'destination folder to copy file on remote machine'
sumber