Gunakan SSH untuk menggunakan Sambungan Desktop Jauh pada Windows dengan selamat

Laman dikemaskini :
Tarikh penciptaan halaman :

Persekitaran operasi

Sambungan jauh ke Windows
  • Windows 11
Sambungan jauh daripada Windows
  • Windows 10
OpenSSH
  • OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2

Prasyarat

Sambungan jauh ke Windows
  • Windows 10 atau lebih baru (Pro atau edisi lain diperlukan). Walau bagaimanapun, ini tidak terpakai jika OpenSSH boleh disediakan secara berasingan.
  • Windows Server 2019 atau lebih baru. Walau bagaimanapun, ini tidak terpakai jika OpenSSH boleh disediakan secara berasingan.
Sambungan jauh daripada Windows
  • Windows (kebanyakan versi adalah mungkin)
  • Pelayan Windows (kebanyakan versi mungkin)

Pada mulanya

Selepas membina persekitaran Windows di Internet dalam awan atau VPS, anda sering menggunakan sambungan desktop jauh untuk mengendalikan destinasi Windows jauh.

Dalam sambungan desktop jauh, kandungan komunikasi disulitkan, dan jika nama pengguna dan kata laluan tidak bocor, yang lain tidak akan log masuk tanpa kebenaran. Selalu ada kebimbangan bahawa orang akan cuba log masuk dari mana sahaja.

Sesetengah awan utama mempunyai tembok api yang berasingan daripada mesin maya, dan terdapat fungsi untuk menyekat sumber sambungan. Ciri-ciri ini mungkin tidak tersedia dalam semua perkhidmatan. Terutama dalam persekitaran yang dibina dengan anggaran yang rendah, terdapat banyak kes di mana fungsi tersebut tidak tersedia.

Oleh itu, kali ini, saya ingin mengehadkan sumber sambungan sebanyak mungkin dengan menambah fungsi SSH . Oleh kerana kunci peribadi dan kunci awam digunakan, selagi kunci peribadi tidak bocor, kemungkinan log masuk jauh dari persekitaran lain dapat diminimumkan sebanyak mungkin.

Dalam kes ini, kami akan menggunakan OpenSSH untuk membina persekitaran SSH.

Bina destinasi jauh persekitaran Windows

Bina persekitaran Windows yang membolehkan anda menyambung dari jauh melalui Internet. Tidak kira di mana ia dibina selagi ia melalui Internet, tetapi untuk pengesahan ini, ia akan dibina sebagai mesin maya di Microsoft Azure. Langkah-langkah untuk membina Azure tidak relevan dengan petua ini, jadi saya akan meninggalkan mereka. Memandangkan port 22 akan digunakan kali ini, jika anda menggunakan Azure, pastikan komunikasi port 22 melalui tetapan mesin maya pada Azure.

Jika anda membina dalam persekitaran selain Azure, pastikan anda berada dalam kedudukan yang anda boleh membuat sambungan desktop jauh ke Windows untuk persekitaran anda.

Di samping itu, versi Windows menyasarkan Windows 10 atau lebih baru, atau Windows Server 2019 atau lebih baru, yang memudahkan untuk membina persekitaran OpenSSH. Ia boleh dilaksanakan dalam persekitaran yang lebih awal, tetapi memerlukan sedikit masa dan usaha kerana anda perlu memuat turun dan menyediakan OpenSSH secara berasingan.

Dalam kes itu, prosedur adalah sama seperti SFTP, jadi sila rujuk petua berikut.

Menyediakan OpenSSH

Dari sini, kami akan bekerja di persekitaran Windows jauh. Mula-mula, sambungkan ke destinasi jauh dengan sambungan desktop jauh. Jika awan atau VPS anda menyediakan konsol, anda boleh menggunakannya. Memandangkan kami beroperasi dalam persekitaran Windows 11 kali ini, langkah-langkahnya mungkin sedikit berbeza dalam versi lain.

Buka menu Mula dan pilih Seting.

Pilih aplikasi.

Pilih Ciri Pilihan.

Pilih Tunjukkan Ciri.

Terdapat "OpenSSH Server" sedikit lebih rendah dalam senarai, jadi semak dan klik "Seterusnya".

Klik Pasang.

Apabila pemasangan selesai dan "OpenSSH Server" ditambahkan ke senarai di bawah, anda sudah selesai.

Konfigurasi perkhidmatan untuk OpenSSH

Klik kanan pada menu Mula dan pilih Pengurusan Komputer.

Pilih Perkhidmatan daripada senarai di sebelah kiri.

Cari "OpenSSH SSH Server" dalam senarai tengah, klik kanan dan pilih "Properties".

Apabila menyambung dari jauh, kami mahu pelayan OpenSSH berjalan, jadi tetapkan "Jenis permulaan" kepada "Automatik".

Oleh kerana ia tidak berjalan pada masa ini, saya akan memulakannya di sini, termasuk menetapkannya.

Setelah dilancarkan, klik OK butang untuk menutupnya. Ia sepatutnya berjalan dalam senarai.

Mengkonfigurasi OpenSSH

Dalam keadaan awal, pengesahan oleh kunci peribadi dilumpuhkan, jadi tetapkannya. Buka folder berikut dalam Explorer.

  • C:\ProgramData\ssh

Walau bagaimanapun, folder di atas mungkin folder tersembunyi, jadi sila jadikannya kelihatan dengan menetapkan pilihan Explorer.

Terdapat fail yang sshd_config dipanggil dalam folder, jadi bukanya dengan editor teks seperti Notepad. Oleh kerana kami akan membuat perubahan kali ini, sila salin dan pendua sebagai sshd_config_old sandaran sebelum perubahan.

PubkeyAuthentication yes Carian untuk: Item ini ialah tetapan sama ada untuk mendayakan pengesahan kunci rahsia. Secara lalai, ia dilumpuhkan dan ia berkata , tetapi ia dikosongkan, yes jadi tidakcomment.

Sebelum perubahan

#PubkeyAuthentication yes

Selepas perubahan

PubkeyAuthentication yes

PasswordAuthentication yes Carian untuk: Item ini ialah tetapan sama ada untuk mendayakan pengesahan kata laluan. Ia didayakan secara lalai, dan walaupun anda mendayakan pengesahan kunci peribadi, ia tidak bermakna dari sudut pandang keselamatan jika ia kekal didayakan, jadi nyahkompaunnya dan no tetapkan .

Sebelum perubahan

#PasswordAuthentication yes

Selepas perubahan

PasswordAuthentication no

Komen baris berikut berhampiran hujung: Ini adalah tetapan utama untuk kumpulan pentadbir, dan kami akan melumpuhkannya kerana kami akan menyokong log masuk setiap pengguna dalam kes ini.

Sebelum perubahan

Match Group administrators
       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

Selepas perubahan

#Match Group administrators
#       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

Selepas menyimpan fail selepas OpenSSH SSH Server perubahan, mulakan semula perkhidmatan untuk mencerminkan tetapan.

Jika anda ingin menukar port

Jika anda ingin menukar port SSH, ubah yang berikut.

Sebelum perubahan

#Port 22

Selepas perubahan

#Port <任意の番号>

Dengan menukar nombor port, port lalai tidak akan diserang, yang akan membawa kepada keselamatan yang lebih kuat. Sebaliknya, ia meningkatkan kerumitan operasi, jadi anda perlu berhati-hati.

Jika anda menukar nombor port, anda mesti menentukan port selain daripada 22 semasa menyambung.

Mencipta Kekunci Peribadi dan Awam

Ini adalah tugas pihak klien. Walau bagaimanapun, tidak kira di mana anda bekerja. Walau bagaimanapun, berhati-hati untuk tidak membocorkan kunci peribadi yang anda buat.

Jika anda mempunyai Windows 10 atau lebih baru, Windows Server 2019 atau lebih baru, klien OpenSSH dipasang secara lalai, jadi anda boleh menciptanya dengan mudah dengan arahan. Dalam persekitaran lain, anda perlu memasang klien OpenSSH yang berasingan atau menggunakan alat yang berasingan.

Petua berikut adalah untuk SFTP, tetapi sila rujuk kepada mereka untuk menubuhkan klien OpenSSH.

Dalam persekitaran pelanggan, lancarkan gesaan arahan, PowerShell, terminal atau sebarang alat yang boleh melaksanakan arahan.

Oleh kerana anda akan membuat fail, beralih cd ke mana-mana direktori dengan arahan.

Jalankan arahan berikut:

ssh-keygen -t rsa -f id_rsa

Anda boleh menetapkan frasa laluan (kata laluan) untuk kunci, jadi sila masukkannya jika perlu. Jika anda menetapkan frasa laluan, keselamatan akan dipertingkatkan, tetapi ia akan meningkatkan masa dan usaha memasukkan frasa laluan dalam proses kemudian.

Kunci awam (id_rsa.pub) dan kunci peribadi (id_rsa) telah dicipta.

Kunci awam (id_rsa.pub) akan diletakkan di destinasi terpencil kemudian. Kunci peribadi boleh ditempatkan di mana-mana sahaja pada klien jauh, tetapi ia mesti terletak di dalam folder yang hanya boleh diakses oleh akaun yang digunakan untuk tujuan keselamatan. Pada asasnya, saya fikir tidak ada masalah jika anda meletakkannya dalam folder berikut di pihak pelanggan. Jika anda menggunakan klien OpenSSH, ia akan menyemak lalu ke folder ini secara lalai.

  • C:\Users\<ユーザー名>\.ssh

Jika anda tidak boleh mencipta folder di atas dalam Explorer, anda boleh menciptanya dengan perintah berikut.

cd C:\Users\<ユーザー名>
mkdir .ssh

Peletakan kekunci awam

Ini adalah operasi jauh. Letakkan kunci awam yang dicipta (id_rsa.pub) di destinasi terpencil. Alihkan fail ini ke folder berikut: <ユーザー名> ialah nama akaun pengguna yang akan anda log masuk apabila anda benar-benar menyambung dari jauh.

  • C:\Users\<ユーザー名>\.ssh

Jika anda tidak mempunyai folder dan tidak boleh mencipta folder dalam Explorer, anda boleh mencipta folder dengan perintah berikut.

cd C:\Users\<ユーザー名>
mkdir .ssh

Tukar fail authorized_keys kunci awam yang digunakan kepada . Itu sahaja.

Bergantung pada persekitaran anda, anda mungkin sudah authorized_keys mempunyai fail tersebut. Ini mungkin berlaku jika anda telah menyediakan sambungan SSH untuk tujuan lain. Dalam kes authorized_keys itu, anda telah mendaftarkan fail dengan membuka fail dan fail dengan Notepad, dsb., dan id_rsa.pub menyenaraikan kandungan id_rsa.pub pada baris seterusnya authorized_keys. Anda boleh mendaftarkan berbilang kunci awam dalam authorized_keys.

Berhubung dengan SSH

Apabila menyambung dengan perintah OpenSSH

Terdapat pelbagai cara untuk berhubung dengan SSH, tetapi mari kita mulakan dengan sambungan berasaskan arahan. Malah, sambungan dengan bilangan langkah paling sedikit adalah dengan arahan. Sebagai prasyarat, anda mesti memasang pelanggan OpenSSH.

Lancarkan alat arahan pilihan anda (Prompt Perintah, PowerShell, Terminal).

Masukkan arahan berikut:

Format Perintah

ssh -i <秘密鍵ファイルパス> -L <ローカルの空いているポート>:127.0.0.1:3389 <接続先のユーザーアカウント名>@<接続先サーバーIPアドレス、またはホスト名>

Berikut adalah penjelasan parameter. Tetapkannya mengikut persekitaran anda.

Nama
Perihalan Parameter Pemboleh ubah
Ssh Perisytiharan untuk menggunakan SSH dengan OpenSSH.
-Saya Perisytiharan untuk menggunakan fail kunci peribadi.
< laluan fail kunci peribadi> Terangkan lokasi fail kunci peribadi yang anda cipta. C:\Users\<ユーザー名>\.ssh Laluan adalah pilihan. Jika tidak, laluan mutlak atau relatif diperlukan.
-L Pengisytiharan ini menentukan pelabuhan yang akan digunakan secara tempatan dan jauh apabila menyambung ke destinasi terpencil.
< pelabuhan percuma tempatan> Sambungan Desktop Jauh biasanya menggunakan port 3389, tetapi anda boleh menyambung menggunakan mana-mana port. Tidak kira berapa nombor itu, selagi ia percuma.
127.0.0.1 Ini adalah alamat IP tuan rumah yang mengiktiraf dari mana destinasi jauh disambungkan. Pada asasnya, 127.0.0.1 adalah baik-baik saja.
3389 Nombor pelabuhan yang akan digunakan di destinasi terpencil. Destinasi jauh biasanya disambungkan dengan port 3389 dengan sambungan desktop jauh, jadi ia boleh ditinggalkan seperti sedia ada.
< nama akaun pengguna yang ingin anda sambungkan> Tentukan akaun yang ingin anda sambungkan di destinasi jauh.
< alamat IP atau nama hos pelayan untuk disambungkan> Menentukan pelayan destinasi jauh.

Contoh Input

ssh -i id_rsa -L 13389:127.0.0.1:3389 TestUser@52.140.221.194

Kali pertama, anda akan diminta untuk kekunci, jadi yes taip dan tekan Enter.

Jika anda mempunyai frasa laluan yang ditetapkan untuk kunci peribadi anda, anda mesti memasukkannya.

Berikut akan berada dalam keadaan bersambung. Anda dapat melihat bahawa pengguna di bahagian pelayan sedang dipaparkan, bukan klien. Semasa tetingkap ini dipaparkan, ia disambungkan, jadi jangan tutupnya. Sekiranya anda menutupnya, sambungan akan rosak.

Apabila menyambung dengan PuTTY

Di sini, kami akan cuba menyambung ke SSH dengan alat yang dipanggil PuTTY.

Menukar kekunci peribadi

Pertama, jika anda menggunakan PuTTY, anda perlu menukar kunci peribadi. Saya fikir terdapat "puttygen .exe" dalam alat yang dilampirkan, jadi sila mulakannya.

Pilih "Penukaran -> Kekunci import" daripada menu.

Pilih kunci peribadi yang anda buat, dalam kes ini, "id_rsa".

Jika anda telah mengesetkan frasa laluan, masukkannya.

Pilih "Fail -> Simpan kunci peribadi" daripada menu.

「. Fail .ppk".

Setelah dicipta, anda sudah selesai.

Mengkonfigurasikan PuTTY

Lancarkan dempul.exe.

Masukkan alamat IP persekitaran yang ingin anda sambungkan. Jika anda mempunyai domain, anda boleh berhubung dengan nama domain.

Pilih Sambungan -> Data daripada menu di sebelah kiri. Dalam medan Nama pengguna log masuk automatik, masukkan nama akaun persekitaran yang ingin anda sambungkan.

Daripada menu di sebelah kiri, pilih Sambungan -> Terowong SSH ->. Masukkan setiap daripada mereka dalam medan input di bawah dan klik butang "Tambah".

Nama Parameter
Catatan Nilai
Port sumber 13389 Mana-mana pelabuhan percuma akan dilakukan. Saya akan menggunakannya kemudian
Destinasi 127.0.0.1:3389

Apabila ditambah, ia sepatutnya kelihatan seperti ini:

Seterusnya, pilih "Sambungan -> SSH -> Auth -> Cledentioals" dari menu di sebelah kiri dan klik butang Semak imbas untuk "Fail kunci peribadi untuk pengesahan".

Pilih kekunci peribadi yang telah anda simpan.

Pilih "Sesi" dalam menu di sebelah kiri, masukkan nama pilihan anda untuk Simpan Sesi, dan klik butang Simpan. Dari masa akan datang dan seterusnya, tidak mengapa jika anda memuatkan tetapan ini.

Selepas mengesahkan simpan, klik butang "Buka".

Skrin berikut akan dipaparkan semasa menyambung buat kali pertama. Klik butang Terima.

Anda akan melihat skrin yang kelihatan seperti gesaan arahan. Jika anda mempunyai frasa laluan untuk kunci peribadi, masukkannya.

Jika kandungan paparan berubah seperti yang ditunjukkan di bawah, ia akan disambungkan. Anda dapat melihat bahawa pengguna di bahagian pelayan sedang dipaparkan, bukan klien. Semasa tetingkap ini dipaparkan, ia disambungkan, jadi jangan tutupnya. Sekiranya anda menutupnya, sambungan akan rosak.

Buat sambungan desktop jauh dengan SSH

Sekarang, mari buat sambungan desktop jauh semasa disambungkan dengan SSH.

Apabila menyambung, bahagian komputer bukanlah alamat jauh sebenar, tetapi "localhost:< > nama port yang ditentukan dalam sambungan SSH". Dalam contoh, 13389 telah ditentukan, jadi di sini kita akan menyambung ke "localhost:13389".

Jika skrin pengesahan dipaparkan, anda boleh menilai bahawa sambungan selesai. Masukkan nama pengguna dan kata laluan anda untuk disambungkan.

Jika anda boleh berhubung seperti ini, anda telah berjaya.

Nyahdayakan sambungan desktop jauh biasa dalam seting tembok api

Pada masa item sebelumnya, anda kini boleh menyambung dengan desktop jauh menggunakan SSH. Walau bagaimanapun, dalam keadaan ini, "Sambungan Desktop Jauh oleh SSH" hanya telah ditambahkan pada "Sambungan Desktop Jauh Biasa". Dari segi keselamatan, ia tidak menambah apa-apa. Jadi perkara seterusnya yang perlu dilakukan ialah mengelakkan "sambungan desktop jauh biasa".

Jika anda membuat tetapan ini, anda tidak akan dapat menyambung kecuali "sambungan desktop jauh oleh SSH", jadi jika anda merosakkan tetapan, anda mungkin tidak mempunyai cara untuk menyambung dari jauh. Oleh itu, pastikan anda menyemak terlebih dahulu bahawa "sambungan desktop jauh oleh SSH" adalah mungkin, dan dapat mengendalikan persekitaran jauh dengan cara lain walaupun pelanggan yang anda cuba sambungkan hilang.

Di sini, konfigurasikan tetapan tembok api dalam "Sambungan Desktop Jauh melalui SSH". Ini kerana jika anda melakukan operasi dengan "sambungan desktop jauh biasa", ia akan diputuskan sebaik sahaja anda menetapkan tembok api.

Lihat Tembok Api Windows Defender dengan Keselamatan Lanjutan. Bergantung pada versi Windows, lokasi paparan akan berbeza-beza, jadi sila paparkannya mengikut versi tersebut.

Pilih Peraturan Masuk daripada menu di sebelah kiri.

Dalam senarai tengah, cari "Remote Desktop - User Mode (TCP In)" dan buka sifatnya.

Pilih tab Skop, tukar alamat IP tempatan ke Alamat IP ini dan klik butang Tambah.

Masukkan 127.0.0.1 dan klik OK butang. Ini akan menghalang sambungan desktop jauh dari mana-mana selain daripada 127.0.0.1. 127.0.0.1 adalah alamat IP yang menunjuk ke mesin anda. Jika anda memasukkan nilai yang salah, anda mungkin tidak dapat menyambung dari mana-mana sahaja, jadi berhati-hati.

Klik okey butang untuk mengesahkan.

Buat masa ini, ini sahaja adalah tindak balas, tetapi mari kita juga tetapkan "Desktop Jauh - Mod Pengguna (UDP Terima)".

Sahkan bahawa anda tidak boleh menyambung dari jauh dengan apa-apa selain SSH

Sekarang, cuba buat sambungan desktop jauh daripada PC lain yang tidak menggunakan SSH.

Jika anda boleh menyambung, skrin pengesahan akan dipaparkan. Tidak mengapa jika anda boleh mengesahkan bahawa sambungan tidak boleh dibuat seperti yang ditunjukkan di bawah.

Ringkasan

Dengan Windows terkini, kini mudah untuk memperkenalkan pelayan SSH. Dengan menambah tetapan, anda kini boleh meningkatkan keselamatan sambungan desktop jauh anda dengan mudah. Walau bagaimanapun, kerana ia hanya bertanggungjawab untuk langkah keselamatan di Windows sendiri, Jika anda ingin menjadikannya lebih selamat, saya fikir adalah lebih baik untuk menyediakan pelayan SSH atau tembok api berasingan sebelum menyambung ke Windows.

Selain itu, anda boleh menetapkan keselamatan dengan ketat menggunakan SSH, tetapi apabila terlalu sukar, tiada siapa yang boleh menyambung kerana ralat operasi. Berhati-hati untuk tidak berakhir dengan itu.