Rumah  >  Artikel  >  Apakah SSH? Untuk penjelasan terperinci tentang prinsip, baca sahaja artikel ini!

Apakah SSH? Untuk penjelasan terperinci tentang prinsip, baca sahaja artikel ini!

Linux中文社区
Linux中文社区ke hadapan
2023-08-02 17:51:431176semak imbas

Apakah SSH? Untuk penjelasan terperinci tentang prinsip, baca sahaja artikel ini!

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.

Direktori

Apakah nombor port SSH?
Bagaimana SSH berfungsi?
Menggunakan kekunci PuTTY dan OpenSSHSSH

Apakah nombor port SSH?

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.

Bagaimana SSH berfungsi?

SSH terdiri daripada pelayan dan pelanggan Semasa keseluruhan proses komunikasi, untuk mewujudkan saluran SSH yang selamat, ia akan melalui peringkat berikut:

Penubuhan sambungan

Pelayan SSH mendengar sambungan pelanggan. pada Permintaan port yang ditetapkan, selepas klien memulakan permintaan sambungan ke pelayan, kedua-dua pihak mewujudkan sambungan TCP.

Perundingan Versi

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.

Perundingan Algoritma

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.

Apakah SSH? Untuk penjelasan terperinci tentang prinsip, baca sahaja artikel ini!Apakah SSH? Untuk penjelasan terperinci tentang prinsip, baca sahaja artikel ini!Apakah SSH? Untuk penjelasan terperinci tentang prinsip, baca sahaja artikel ini!Apakah SSH? Untuk penjelasan terperinci tentang prinsip, baca sahaja artikel ini!Apakah SSH? Untuk penjelasan terperinci tentang prinsip, baca sahaja artikel ini!Apakah SSH? Untuk penjelasan terperinci tentang prinsip, baca sahaja artikel ini!

Hebat! N projek sumber terbuka yang penting untuk menjalankan kerja persendirian!

Pertukaran kunci

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.

Pengesahan pengguna

Pelanggan SSH memulakan permintaan pengesahan kepada pelayan, dan pelayan mengesahkan pelanggan. SSH menyokong kaedah pengesahan berikut:

  • Pengesahan kata laluan (kata laluan): Pelanggan mengesahkan melalui nama pengguna dan kata laluan, dan menghantar nama pengguna dan kata laluan yang disulitkan kepada pelayan Pelayan menyahsulit nama pengguna dan kata laluan dengan nama pengguna dan kata laluan yang disimpan secara tempatan . Bandingkan dan kembalikan mesej kejayaan atau kegagalan pengesahan kepada pelanggan.
  • Pengesahan kunci (kunci awam): Pelanggan mengesahkan dengan pelayan melalui nama pengguna, kunci awam, algoritma kunci awam dan maklumat lain.
  • pengesahan kata laluan-kunci awam: bermakna pengguna perlu memenuhi kedua-dua pengesahan kata laluan dan pengesahan kunci untuk log masuk.
  • semua pengesahan: Selagi salah satu pengesahan kata laluan dan pengesahan kunci dipenuhi.

Permintaan sesi

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.

Interaksi sesi

Selepas sesi diwujudkan, pelayan SSH dan pelanggan bertukar maklumat data pada sesi.

Menggunakan PuTTY dan OpenSSH

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".

SSH Key

Penyulitan simetri dan penyulitan asimetrik

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.

Apakah SSH? Untuk penjelasan terperinci tentang prinsip, baca sahaja artikel ini!

Algoritma penyulitan simetri


Apakah SSH? Untuk penjelasan terperinci tentang prinsip, baca sahaja artikel ini!

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.

Pengesahan Kunci

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 .

Apakah SSH? Untuk penjelasan terperinci tentang prinsip, baca sahaja artikel ini!


Proses log masuk pengesahan kunci SSH

  • Sebelum membuat sambungan SSH, pelanggan SSH perlu menjana pasangan kunci awam dan kunci peribadinya sendiri dan menyimpan kunci awamnya pada pelayan SSH.
  • Apabila pelanggan SSH menghantar permintaan log masuk, pelayan SSH akan mencari kunci awam pelanggan secara setempat berdasarkan nama pengguna dan maklumat lain dalam permintaan, dan menggunakan kunci awam ini untuk menyulitkan nombor rawak dan menghantarnya ke pelanggan.
  • Pelanggan menggunakan kunci peribadinya sendiri untuk menyahsulit maklumat yang dikembalikan dan menghantarnya ke pelayan.
  • Pelayan mengesahkan sama ada maklumat yang dinyahsulit oleh pelanggan adalah betul Jika betul, pengesahan diluluskan.

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!

Kenyataan:
Artikel ini dikembalikan pada:Linux中文社区. Jika ada pelanggaran, sila hubungi admin@php.cn Padam