Cara Salin Fail Salin Lebih SSH Tanpa Memasukkan Kata Laluan Anda
SSH adalah lifesaver apabila anda perlu menguruskan komputer dari jauh, tetapi adakah anda tahu anda juga boleh memuat naik dan memuat turun fail? Menggunakan kekunci SSH, anda boleh melangkau untuk memasukkan kata laluan dan menggunakannya untuk skrip!
Proses ini berfungsi pada Linux dan Mac OS, dengan syarat ia dikonfigurasi dengan betul untuk akses SSH. Sekiranya anda menggunakan Windows, anda boleh menggunakan Cygwin untuk mendapatkan kefungsian Linux, dan dengan sedikit tweaking, SSH akan berjalan juga.
Menyalin Fail Melalui SSH
Salinan selamat adalah perintah yang sangat berguna, dan ia sangat mudah digunakan. Format asas arahan adalah seperti berikut:
scp [options] original_file destination_file
Kicker terbesar adalah bagaimana untuk memformat bahagian terpencil. Apabila anda menangani fail jauh, anda perlu melakukannya dengan cara yang berikut:
user @ server: path / to / file
Pelayan boleh menjadi URL atau alamat IP. Ini diikuti oleh kolon, kemudian jalan ke fail atau folder yang dipersoalkan. Mari lihat contoh.
scp -P 40050 Desktop / url.txt [email protected]: ~ / Desktop / url.txt
Perintah ini mempunyai bendera [-P] (ambil perhatian bahawa ia adalah modal P). Ini membolehkan saya menentukan nombor port dan bukannya lalai 22. Ini perlu bagi saya kerana cara saya telah mengkonfigurasi sistem saya.
Seterusnya, fail asal saya ialah "url.txt" yang ada di dalam direktori yang dipanggil "Desktop". Fail destinasi adalah dalam "~ / Desktop / url.txt" yang sama dengan "/user/yatri/Desktop/url.txt". Perintah ini dijalankan oleh pengguna "yatri" pada komputer jauh "192.168.1.50".
Bagaimana jika anda perlu melakukan yang sebaliknya? Anda boleh menyalin fail dari pelayan jauh sama.
Di sini, saya telah menyalin fail dari folder "~ / Desktop /" komputer jauh ke folder "Desktop" komputer saya.
Untuk menyalin keseluruhan direktori, anda perlu menggunakan bendera [-r] (ambil perhatian bahawa ia adalah huruf kecil).
Anda juga boleh menggabungkan bendera. Sebaliknya
scp -P -r ...
Anda boleh buat
scp -Pr ...
Bahagian yang paling sukar di sini ialah penyempurnaan tab tidak selalu berfungsi, jadi sangat berguna untuk mempunyai terminal lain dengan sesi SSH yang dijalankan supaya anda tahu di mana untuk meletakkan perkara.
SSH dan SCP Tanpa Kata Laluan
Salinan selamat bagus. Anda boleh memasukkannya ke dalam skrip dan menyandarkannya ke komputer jauh. Masalahnya ialah anda mungkin tidak selalu berada di sekitar untuk memasukkan kata laluan. Dan, mari kita jujur, itu adalah kesakitan yang sangat besar untuk dimasukkan ke dalam kata laluan anda ke komputer jauh yang anda jelas mempunyai akses ke sepanjang masa.
Nah, kita boleh pergi menggunakan kata laluan dengan menggunakan fail utama. Kita boleh mempunyai komputer yang menghasilkan dua fail utama - satu orang awam yang berada di pelayan jauh, dan satu peribadi yang ada di komputer anda dan perlu selamat - dan ini akan digunakan dan bukan kata laluan. Cukup mudah, betul?
Pada komputer anda, masukkan arahan berikut:
ssh-keygen -t rsa
Ini akan menghasilkan dua kunci dan memasukkannya ke dalam:
~ / .ssh /
dengan nama "id_rsa" untuk kunci peribadi anda, dan "id_rsa.pub" untuk kunci awam anda.
Setelah memasukkan arahan, anda akan ditanya di mana untuk menyimpan kunci. Anda boleh menekan Enter untuk menggunakan kegagalan yang dinyatakan di atas.
Seterusnya, anda akan diminta memasukkan frasa laluan. Tekan Enter untuk meninggalkan ini kosong, kemudian lakukan lagi apabila ia meminta pengesahan. Langkah seterusnya ialah menyalin fail utama awam ke komputer jauh anda. Anda boleh menggunakan scp untuk melakukan ini:
Destinasi untuk kunci awam anda adalah pada pelayan jauh, dalam fail berikut:
~ / .ssh / authorized_keys2
Kekunci awam seterusnya boleh dilampirkan ke fail ini, seperti fail ~ / .ssh / known_hosts. Ini bermakna jika anda mahu menambah kunci awam lain untuk akaun anda di pelayan ini, anda akan menyalin kandungan fail id_rsa.pub kedua ke baris baru pada file authorized_keys2 yang ada.
Pertimbangan Keselamatan
Bukankah ini kurang selamat daripada kata laluan??
Dalam erti kata yang praktikal, tidak semestinya. Kunci peribadi yang dijana disimpan di komputer yang anda gunakan, dan ia tidak pernah dipindahkan, bahkan tidak dapat disahkan. Kunci peribadi ini SAHAJA sepadan dengan kunci SATU awam, dan sambungan perlu dimulakan dari komputer yang mempunyai kunci persendirian. RSA cukup selamat dan menggunakan bit 2048 secara lalai.
Ia sebenarnya agak sama dalam teori untuk menggunakan kata laluan anda. Jika seseorang tahu kata laluan anda, keselamatan anda keluar dari tetingkap. Sekiranya seseorang mempunyai fail utama peribadi anda, maka keselamatan akan hilang kepada mana-mana komputer yang mempunyai kunci kemuncak awam, tetapi mereka memerlukan akses ke komputer anda untuk mendapatkannya.
Boleh ini lebih selamat?
Anda boleh menggabungkan kata laluan dengan fail utama. Ikuti langkah-langkah di atas, tetapi masukkan frasa laluan yang kuat. Kini, apabila anda menyambungkan SSH atau menggunakan SCP, anda memerlukan fail utama peribadi yang betul dan juga frasa laluan yang betul.
Sebaik sahaja anda memasukkan frasa laluan anda sekali, anda tidak akan diminta lagi sehingga anda menutup sesi anda. Ini bermakna bahawa kali pertama anda SSH / SCP, anda perlu memasukkan kata laluan anda, tetapi semua tindakan seterusnya tidak memerlukannya. Sebaik sahaja anda log keluar dari komputer anda (bukan yang terpencil) atau menutup tetingkap terminal anda, anda perlu memasukkannya lagi. Dengan cara ini, anda tidak benar-benar mengorbankan keselamatan, tetapi anda juga tidak diganggu untuk kata laluan sepanjang masa.
Bolehkah saya menggunakan semula kunci utama awam / swasta?
Ini adalah idea yang sangat buruk. Jika seseorang mencari kata laluan anda, dan anda menggunakan kata laluan yang sama untuk semua akaun anda, maka mereka sekarang mempunyai akses kepada semua akaun tersebut. Begitu juga, fail kunci peribadi anda juga sangat rahsia dan penting. (Untuk maklumat lanjut, lihat Bagaimana Untuk Memulihkan Selepas Kata Laluan E-mel Anda Dikompromikan)
Adalah lebih baik untuk mencipta pasangan kunci baru untuk setiap komputer dan akaun yang ingin anda sambungkan. Dengan cara itu, jika salah satu kunci peribadi anda terperangkap entah bagaimana, anda hanya akan berkompromi satu akaun pada satu komputer jauh.
Ia juga sangat penting untuk ambil perhatian bahawa semua kekunci peribadi anda disimpan di tempat yang sama: dalam ~ / .ssh / pada komputer anda, anda boleh menggunakan TrueCrypt untuk membuat selamat, enkripsi terenkripsi, kemudian buat symlinks dalam ~ / .ssh anda / direktori. Bergantung pada apa yang saya lakukan, saya menggunakan kaedah super-paranoid yang sangat selamat ini untuk meletakkan fikiran saya dengan selesa.
Adakah anda menggunakan SCP dalam sebarang skrip? Adakah anda menggunakan fail utama dan bukan kata laluan? Berkongsi kepakaran anda dengan pembaca lain dalam komen!