Pengenalan
Apabila menggunakan arahan seperti scpatau rsyncdengan alamat IP awam pelayan anda, anda akan memindahkan fail secara automatik ke internet (awam). Sekiranya anda mempunyai dua keadaan dengan rangkaian peribadi yang diaktifkan, anda juga dapat memindahkan fail ini melalui rangkaian peribadi dan mencegah caj tambahan untuk lebar jalur yang digunakan.
Prasyarat
- Dua keadaan (kami akan memanggilnya
server_adan server_b) dengan rangkaian peribadi diaktifkan
- Kedua-dua contoh tersebut harus mempunyai alamat IP peribadi yang dikonfigurasi dalam subnet yang sama (lihat Mengkonfigurasi Rangkaian Peribadi )
- Kesambungan SSH boleh dilakukan antara kedua-dua keadaan
- Pengguna yang bukan root (kami akan memanggilnya
your_user)
Menjana dan menggunakan kekunci SSH
Memindahkan fail mungkin menggunakan pengesahan nama pengguna dan kata laluan, tetapi lebih selamat menggunakan kekunci SSH. Penjanaan kunci awam-swasta dijelaskan dalam Bagaimana Saya Menjana Kunci SSH? . Sekiranya anda memutuskan untuk melangkau bahagian ini, anda mesti memasukkan kata laluan pengguna jarak jauh dalam setiap arahan.
Dengan mengandaikan bahawa pasangan kunci awam-peribadi server_aterletak di ~/.ssh/id_rsa, anda boleh menjalankan arahan berikut untuk memindahkan kunci awam anda server_b. Gunakan alamat IP peribadi dari server_b.
ssh-copy-id [email protected]
Apabila diminta, berikan kata laluan untuk your_user.
ssh-copy-id [email protected] /usr/bin/ssh-copy-id: INFO: Source of
key(s) to be installed: "/home/your_user/.ssh/id_rsa.pub" The
authenticity of host '192.168.0.101 (192.168.0.101)' can't be
established. ECDSA key fingerprint is
SHA256:g9dfqycqU25b567/HDjPTqaQqKhep/fysNCQAG9yJG4. ECDSA key
fingerprint is MD5:41:67:be:68:51:9b:38:a8:95:82:71:47:f1:35:39:66.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s),
to filter out any that are already installed /usr/bin/ssh-copy-id:
INFO: 1 key(s) remain to be installed -- if you are prompted now it is
to install the new keys [email protected]'s password:
Number of key(s) added: 1
Sekarang cuba log masuk ke mesin.
ssh [email protected]
Periksa untuk memastikan bahawa hanya kunci yang anda mahu ditambahkan.
Jika anda kini SSH dari server_ake server_b, ia tidak lagi akan meminta kata laluan. Sekiranya pasangan kunci awam-swasta tidak berada di ~/.ssh/id_rsadalamnya, anda boleh menentukan lokasinya dengan -iparameter (anda juga memerlukan parameter ini dengan perintah scpdan rsync).
ssh-copy-id -i /path/to/your/public_key [email protected]
ssh -i /path/to/your/private_key [email protected]
Memindahkan fail dengan SCP
SCP bermaksud Salinan Selamat dan ia memindahkan semua data melalui sambungan SSH. Untuk menyalin satu fail, ~/myfile, dari server_ake /tmpdirektori pada server_bkita boleh mengeluarkan arahan berikut.
scp ~./myfile [email protected]:/tmp
Untuk menyalin folder lengkap dengan semua isinya (termasuk pautan simbolik) anda boleh menambah -rpilihan
scp -r ~./mydir [email protected]:/tmp
Memindahkan fail dengan Rsync
Rsync adalah alat serba boleh untuk menyalin fail, paling sering digunakan untuk menyegerakkan kandungan dua lokasi. Ia menggunakan terowong SSH yang selamat untuk memindahkan data. Folder lengkap boleh diselaraskan ke /tmpdir remote dengan perintah berikut
rsync -av ~/mydir [email protected]:/tmp
The -vpilihan kenaikan penggunaan terlalu banyak kata supaya anda boleh mengikuti perkembangan pemindahan. The -apilihan membolehkan 'mod arkib' yang salinan fail anda secara berulang di samping memelihara sifat-sifat seperti pemilik, kumpulan dan kebenaran.