SSH (Secure Shell) ialah protokol keselamatan rangkaian yang melaksanakan akses selamat dan perkhidmatan pemindahan fail melalui mekanisme penyulitan dan pengesahan. Log masuk jauh tradisional atau kaedah pemindahan fail, seperti Telnet dan FTP, menggunakan teks biasa untuk menghantar data, yang mempunyai banyak risiko keselamatan. Apabila orang ramai memberi lebih perhatian kepada keselamatan rangkaian, kaedah ini secara beransur-ansur menjadi kurang diterima. Protokol SSH menyediakan log masuk selamat dan perkhidmatan rangkaian selamat yang lain dalam persekitaran rangkaian yang tidak selamat dengan menyulitkan dan mengesahkan data rangkaian. Sebagai alternatif selamat kepada Telnet dan protokol cangkerang jauh tidak selamat yang lain, protokol SSH telah digunakan secara meluas di seluruh dunia, dan kebanyakan peranti menyokong fungsi SSH.
Apakah nombor port SSH?
Bagaimana SSH berfungsi?
Menggunakan kekunci PuTTY dan OpenSSHSSH
Apabila SSH digunakan pada STelnet, SFTP dan SCP, port SSH lalai yang digunakan ialah 22. Apabila SSH digunakan pada NETCONF, anda boleh menentukan port SSH menjadi 22 atau 830. Port SSH menyokong pengubahsuaian Selepas perubahan, semua sambungan semasa akan diputuskan dan pelayan SSH akan mula mendengar port baharu.
SSH terdiri daripada pelayan dan pelanggan Semasa keseluruhan proses komunikasi, untuk mewujudkan saluran SSH yang selamat, ia akan melalui peringkat berikut:
Pelayan SSH mendengar sambungan pelanggan. pada Permintaan port yang ditetapkan, selepas klien memulakan permintaan sambungan ke pelayan, kedua-dua pihak mewujudkan sambungan TCP.
Protokol SSH kini wujud dalam versi SSH1.X (versi sebelum SSH2.0) dan SSH2.0. Berbanding dengan protokol SSH1.X, protokol SSH2.0 telah dikembangkan dalam struktur dan boleh menyokong lebih banyak kaedah pengesahan dan kaedah pertukaran kunci, sambil meningkatkan keupayaan perkhidmatan. Pelayan dan pelanggan SSH menentukan nombor versi SSH terakhir yang digunakan melalui rundingan.
SSH menyokong berbilang algoritma penyulitan Berdasarkan algoritma yang disokong oleh setiap pihak, kedua-dua pihak merundingkan algoritma pertukaran kunci yang akhirnya digunakan untuk menjana kunci sesi, algoritma penyulitan yang digunakan untuk menyulitkan maklumat data dan algoritma penyulitan yang digunakan. untuk melaksanakan tandatangan digital dan algoritma kunci awam yang disahkan dan algoritma HMAC untuk perlindungan integriti data.
Hebat! N projek sumber terbuka yang penting untuk menjalankan kerja persendirian!
Pelayan dan pelanggan menggunakan algoritma pertukaran kunci untuk menjana kunci sesi kongsi dan ID sesi secara dinamik untuk mewujudkan saluran yang disulitkan. Kunci sesi digunakan terutamanya untuk penyulitan penghantaran data seterusnya, dan ID sesi digunakan untuk mengenal pasti sambungan SSH semasa proses pengesahan.
Pelanggan SSH memulakan permintaan pengesahan kepada pelayan, dan pelayan mengesahkan pelanggan. SSH menyokong kaedah pengesahan berikut:
Selepas pengesahan diluluskan, klien SSH menghantar permintaan sesi kepada pelayan, meminta pelayan menyediakan jenis perkhidmatan tertentu, iaitu, meminta untuk mewujudkan sesi yang sepadan dengan pelayan . Di samping itu, apabila mencari akaun awam Linux, ini adalah cara anda harus belajar membalas "Linux" di latar belakang untuk mendapatkan pakej hadiah kejutan.
Selepas sesi diwujudkan, pelayan SSH dan pelanggan bertukar maklumat data pada sesi.
PuTTY ialah alat sambungan SSH percuma klasik pada Windows Ia biasanya digunakan untuk log masuk dari jauh ke peranti menggunakan protokol SSH. Versi terkini boleh dimuat turun dari laman web rasmi PuTTY.
OpenSSH ialah pelaksanaan sumber terbuka protokol SSH dan sokongan yang dijalankan pada sistem pengendalian Unix Versi terkini boleh dimuat turun dari tapak web rasmi OpenSSH. Pada masa ini, Windows 10 sudah termasuk perisian klien dan pelayan OpenSSH, yang boleh dicari dan dipasang dalam "Tetapan—Aplikasi—Aplikasi dan Ciri—Ciri Pilihan".
Cara asas untuk meningkatkan keselamatan ialah penyulitan Algoritma penyulitan menukar teks biasa kepada sifir melalui kunci untuk penghantaran selamat. SSH menggunakan gabungan penyulitan simetri dan algoritma penyulitan asimetri semasa proses kerjanya untuk memastikan keselamatan penghantaran maklumat melalui kunci SSH yang telah dijana sebelumnya. Proses penyulitan dan penyahsulitan kedua-dua algoritma penyulitan ditunjukkan dalam rajah di bawah.
Algoritma penyulitan simetri
Algoritma penyulitan asimetri
Algoritma penyulitan simetri dan menyahsulit data yang sama. Kunci sesi yang dijana semasa penubuhan sambungan SSH ialah kunci simetri Kunci simetri dijana oleh pelanggan dan pelayan menggunakan algoritma pertukaran kunci berdasarkan maklumat separa yang dikongsi dan data peribadi mereka sendiri. Oleh kerana algoritma penyulitan simetri menyulitkan dan menyahsulit dengan sangat cepat, ia sesuai untuk senario di mana sejumlah besar data dihantar.
Penghantaran dan penerimaan yang disulitkan secara tidak simetri memerlukan penggunaan sepasang kunci SSH yang berkaitan, kunci awam dan kunci peribadi. Kunci persendirian disimpan oleh pihak yang menjananya dan kunci awam boleh dihantar kepada sesiapa sahaja yang meminta komunikasi. Pengirim menggunakan kunci awam yang diterima untuk menyulitkan kandungan komunikasinya, dan hanya penerima boleh menggunakan kunci peribadi untuk menyahsulit dan mendapatkan kandungan komunikasi. Kunci persendirian penyulitan asimetri tidak perlu didedahkan pada rangkaian, dan keselamatan meningkat dengan banyak, tetapi kelajuan penyulitan dan penyahsulitan jauh lebih perlahan daripada kunci simetri.
Penyulitan asimetri digunakan pada dua peringkat dalam proses sambungan SSH. Salah satunya ialah semasa fasa pertukaran kunci, kedua-dua pelayan dan pelanggan menjana kunci awam sementara dan kunci persendirian mereka sendiri, yang digunakan untuk mengira kunci sesi yang sama yang digunakan untuk kandungan komunikasi yang disulitkan berikutnya. Yang lain ialah menggunakan ciri yang hanya kunci persendirian yang sepadan boleh menyahsulit secara unik kandungan yang disulitkan oleh kunci awam semasa fasa pengesahan pengguna untuk mengesahkan identiti pelanggan melalui kunci awam dan pasangan kunci persendirian pelanggan.
Dua kaedah paling asas untuk pengesahan pengguna SSH ialah pengesahan kata laluan dan pengesahan kunci. Pengesahan kata laluan adalah untuk menghantar nama pengguna dan kata laluan anda ke pelayan untuk pengesahan Kaedah ini agak mudah, dan anda perlu memasukkan nama pengguna dan kata laluan anda setiap kali anda log masuk. Pengesahan kunci menggunakan kunci awam dan pasangan kunci peribadi untuk pengesahan identiti untuk mencapai log masuk tanpa kata laluan yang selamat Ia adalah kaedah log masuk yang digunakan secara meluas dan disyorkan. Prinsip asas pengesahan kunci ialah pelayan menggunakan kunci awam klien untuk menyulitkan kandungan rawak, dan pelanggan menggunakan kunci peribadinya sendiri untuk menyahsulit dan menghantarnya ke pelayan untuk mengesahkan identitinya Proses khusus ditunjukkan dalam rajah di bawah .
Proses log masuk pengesahan kunci SSH
Atas ialah kandungan terperinci Apakah SSH? Untuk penjelasan terperinci tentang prinsip, baca sahaja artikel ini!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!