Gunakan SSH untuk menggunakan Remote Desktop Connection ke Windows dengan aman

Halaman Diperbarui :
Tanggal pembuatan halaman :

Lingkungan operasi

Koneksi jarak jauh ke Windows
  • jendela 11
Koneksi jarak jauh dari Windows
  • jendela 10
OpenSSH
  • OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2

Prasyarat

Koneksi jarak jauh ke Windows
  • Windows 10 atau yang lebih baru (Pro atau edisi lain diperlukan). Namun, ini tidak berlaku jika OpenSSH dapat disiapkan secara terpisah.
  • Windows Server 2019 atau yang lebih baru. Namun, ini tidak berlaku jika OpenSSH dapat disiapkan secara terpisah.
Koneksi jarak jauh dari Windows
  • Windows (sebagian besar versi dimungkinkan)
  • Windows Server (sebagian besar versi dimungkinkan)

Pada awalnya

Setelah membangun lingkungan Windows di Internet di cloud atau VPS, Anda sering menggunakan koneksi desktop jarak jauh untuk mengoperasikan tujuan Windows jarak jauh.

Dalam koneksi desktop jarak jauh, konten komunikasi dienkripsi, dan jika nama pengguna dan kata sandi tidak bocor, orang lain tidak akan masuk tanpa izin. Selalu ada kekhawatiran bahwa orang akan mencoba masuk dari mana saja.

Beberapa awan utama memiliki firewall yang terpisah dari mesin virtual, dan ada fungsi untuk membatasi sumber koneksi. Fitur ini mungkin tidak tersedia di semua layanan. Terutama di lingkungan yang dibangun dengan anggaran rendah, ada banyak kasus di mana fungsi seperti itu tidak tersedia.

Oleh karena itu, kali ini, saya ingin membatasi sumber koneksi sebanyak mungkin dengan menambahkan fungsi SSH . Karena kunci privat dan kunci publik digunakan, selama kunci privat tidak bocor, kemungkinan masuk dari jarak jauh dari lingkungan lain dapat diminimalkan sebanyak mungkin.

Dalam hal ini, kita akan menggunakan OpenSSH untuk membangun lingkungan SSH.

Membangun lingkungan Windows tujuan jarak jauh

Bangun lingkungan Windows yang memungkinkan Anda terhubung dari jarak jauh melalui Internet. Tidak masalah di mana itu dibangun selama itu melalui Internet, tetapi untuk verifikasi ini, itu akan dibangun sebagai mesin virtual di Microsoft Azure. Langkah-langkah untuk membangun di Azure tidak relevan dengan tip ini, jadi saya akan menghilangkannya. Karena port 22 akan digunakan kali ini, jika Anda menggunakan Azure, pastikan komunikasi port 22 melewati pengaturan komputer virtual di Azure.

Jika Anda membangun di lingkungan selain Azure, pastikan Anda berada dalam posisi di mana Anda dapat membuat koneksi desktop jarak jauh ke Windows untuk lingkungan Anda.

Selain itu, versi Windows menargetkan Windows 10 atau yang lebih baru, atau Windows Server 2019 atau yang lebih baru, yang membuatnya mudah untuk membangun lingkungan OpenSSH. Ini dapat diimplementasikan di lingkungan sebelumnya, tetapi dibutuhkan sedikit lebih banyak waktu dan usaha karena Anda perlu mengunduh dan mengatur OpenSSH secara terpisah.

Dalam hal ini, prosedurnya sama dengan SFTP, jadi silakan lihat tips berikut.

Menyiapkan OpenSSH

Dari sini, kita akan bekerja di lingkungan Windows jarak jauh. Pertama, sambungkan ke tujuan jarak jauh dengan koneksi desktop jarak jauh. Jika cloud atau VPS Anda menyediakan konsol, Anda dapat menggunakannya. Karena kami beroperasi di lingkungan Windows 11 kali ini, langkah-langkahnya mungkin sedikit berbeda di versi lain.

Buka menu Mulai dan pilih Pengaturan.

Pilih aplikasi.

Pilih Fitur Opsional.

Pilih Tampilkan Fitur.

Ada "OpenSSH Server" sedikit lebih rendah dalam daftar, jadi periksa dan klik "Next".

Klik Instal.

Ketika instalasi selesai dan "OpenSSH Server" ditambahkan ke daftar di bawah ini, Anda selesai.

Konfigurasi layanan untuk OpenSSH

Klik kanan pada menu Start dan pilih Computer Management.

Pilih Layanan dari daftar di sebelah kiri.

Temukan "OpenSSH SSH Server" di daftar tengah, klik kanan dan pilih "Properties".

Saat menghubungkan dari jarak jauh, kami ingin server OpenSSH berjalan, jadi atur "Jenis startup" ke "Otomatis".

Karena tidak berjalan saat ini, saya akan memulainya di sini, termasuk mengaturnya.

Setelah diluncurkan, klik baik tombol untuk menutupnya. Itu harus berjalan dalam daftar.

Mengkonfigurasi OpenSSH

Dalam keadaan awal, otentikasi dengan kunci privat dinonaktifkan, jadi aturlah. Buka folder berikut ini di Explorer.

  • C:\ProgramData\ssh

Namun, folder di atas mungkin folder tersembunyi, jadi harap membuatnya terlihat dengan mengatur opsi Explorer.

Ada file yang disebut dalam sshd_config folder, jadi buka dengan editor teks seperti Notepad. Karena kami akan membuat perubahan kali ini, harap salin dan duplikat sebagai sshd_config_old cadangan sebelum perubahan.

PubkeyAuthentication yes Cari untuk: Item ini adalah pengaturan apakah akan mengaktifkan autentikasi kunci rahasia. Secara default, ini dinonaktifkan dan dikatakan , tetapi dikomentari, yes jadi hapus komentarnya.

Sebelum perubahan

#PubkeyAuthentication yes

Setelah perubahan

PubkeyAuthentication yes

PasswordAuthentication yes Cari untuk: Item ini adalah pengaturan apakah akan mengaktifkan autentikasi kata sandi. Ini diaktifkan secara default, dan bahkan jika Anda mengaktifkan otentikasi kunci pribadi, itu tidak ada artinya dari sudut pandang keamanan jika tetap diaktifkan, jadi hapus komentar dan no atur .

Sebelum perubahan

#PasswordAuthentication yes

Setelah perubahan

PasswordAuthentication no

Komentari baris berikut di dekat akhir: Ini adalah pengaturan kunci untuk grup administrator, dan kami akan menonaktifkannya karena kami akan mendukung login per pengguna dalam kasus ini.

Sebelum perubahan

Match Group administrators
       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

Setelah perubahan

#Match Group administrators
#       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

Setelah menyimpan file setelah OpenSSH SSH Server perubahan, mulai ulang layanan untuk mencerminkan pengaturan.

Jika Anda ingin mengubah port

Jika Anda ingin mengubah port SSH, ubah yang berikut ini.

Sebelum perubahan

#Port 22

Setelah perubahan

#Port <任意の番号>

Dengan mengubah nomor port, port default tidak akan diserang, yang akan mengarah pada keamanan yang lebih kuat. Di sisi lain, ini meningkatkan kompleksitas operasi, jadi Anda harus berhati-hati.

Jika Anda mengubah nomor port, Anda harus menentukan port selain 22 saat menyambungkan.

Membuat Kunci Pribadi dan Publik

Ini adalah tugas sisi klien. Namun, tidak masalah di mana Anda bekerja. Namun, berhati-hatilah untuk tidak membocorkan kunci pribadi yang Anda buat.

Jika Anda memiliki Windows 10 atau yang lebih baru, Windows Server 2019 atau yang lebih baru, klien OpenSSH diinstal secara default, sehingga Anda dapat dengan mudah membuatnya dengan perintah. Di lingkungan lain, Anda perlu menginstal klien OpenSSH terpisah atau menggunakan alat terpisah.

Kiat-kiat berikut adalah untuk SFTP, tetapi silakan merujuk ke mereka untuk menyiapkan klien OpenSSH.

Di lingkungan klien, luncurkan prompt perintah, PowerShell, terminal, atau alat apa pun yang dapat menjalankan perintah.

Karena Anda akan membuat file, pindah cd ke direktori mana pun dengan perintah.

Jalankan perintah berikut:

ssh-keygen -t rsa -f id_rsa

Anda dapat mengatur kata sandi (password) untuk kunci tersebut, jadi silakan masukkan jika perlu. Jika anda menetapkan kata sandi, keamanan akan ditingkatkan, tetapi akan meningkatkan waktu dan upaya memasukkan kata sandi dalam proses selanjutnya.

Kunci publik (id_rsa.pub) dan kunci pribadi (id_rsa) telah dibuat.

Kunci publik (id_rsa.pub) akan ditempatkan di tujuan jarak jauh nanti. Kunci pribadi dapat ditemukan di mana saja pada klien jarak jauh, tetapi harus terletak di folder yang hanya dapat diakses oleh akun yang digunakan untuk tujuan keamanan. Pada dasarnya, saya pikir tidak ada masalah jika Anda menempatkannya di folder berikut di sisi klien. Jika Anda menggunakan klien OpenSSH, itu akan menelusuri folder ini secara default.

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

Jika Anda tidak dapat membuat folder di atas di Explorer, Anda dapat membuatnya dengan perintah berikut.

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

Penempatan kunci publik

Ini adalah operasi jarak jauh. Tempatkan kunci publik yang dibuat (id_rsa.pub) di tujuan jarak jauh. Pindahkan file ini ke folder berikut ini: <ユーザー名> adalah nama akun pengguna yang akan Anda masuki saat Anda benar-benar terhubung dari jarak jauh.

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

Jika Anda tidak memiliki folder dan tidak dapat membuat folder di Explorer, Anda dapat membuat folder dengan perintah berikut.

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

Ubah file authorized_keys kunci publik yang disebarkan menjadi . Itu saja.

Tergantung pada lingkungan Anda, Anda mungkin sudah authorized_keys memiliki file. Ini mungkin terjadi jika Anda telah mengatur koneksi SSH untuk tujuan lain. Dalam hal ini authorized_keys , Anda telah mendaftarkan file dengan membuka file dan file dengan Notepad, dll., Dan id_rsa.pub mencantumkan konten id_rsa.pub di baris authorized_keys berikutnya. Anda dapat mendaftarkan beberapa kunci publik di authorized_keys.

Terhubung dengan SSH

Saat menghubungkan dengan perintah OpenSSH

Ada berbagai cara untuk terhubung dengan SSH, tetapi mari kita mulai dengan koneksi berbasis perintah. Bahkan, koneksi dengan jumlah langkah paling sedikit adalah dengan perintah. Sebagai prasyarat, Anda harus menginstal klien OpenSSH.

Luncurkan alat perintah pilihan Anda (Command Prompt, PowerShell, Terminal).

Masukkan perintah berikut:

Format Perintah

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

Berikut penjelasan mengenai parameternya. Atur sesuai dengan lingkungan Anda.

Parameter Variabel
Deskripsi Nama
SSH Deklarasi untuk menggunakan SSH dengan OpenSSH.
-saya Deklarasi untuk menggunakan file kunci privat.
< jalur file kunci privat> Menjelaskan lokasi file kunci privat yang Anda buat. C:\Users\<ユーザー名>\.ssh Jalur ini opsional. Jika tidak, jalur absolut atau relatif diperlukan.
-L Deklarasi ini menentukan port yang akan digunakan secara lokal dan jarak jauh saat menghubungkan ke tujuan jarak jauh.
< pelabuhan bebas lokal> Remote Desktop Connection biasanya menggunakan port 3389, tetapi Anda dapat menyambung menggunakan port apapun. Tidak peduli nomor berapa itu, asalkan gratis.
127.0.0.1 Ini adalah alamat IP host yang mengenali dari mana tujuan jarak jauh terhubung. Pada dasarnya, 127.0.0.1 baik-baik saja.
3389 Nomor port yang akan digunakan di tujuan terpencil. Tujuan jarak jauh biasanya dihubungkan oleh port 3389 dengan koneksi desktop jarak jauh, sehingga dapat dibiarkan apa adanya.
< nama akun pengguna yang ingin Anda sambungkan> Tentukan akun mana yang ingin Anda sambungkan di tujuan jarak jauh.
< alamat IP atau nama host server yang akan disambungkan> Menentukan server tujuan jarak jauh.

Contoh Input

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

Pertama kali, Anda akan dimintai kunci, jadi yes ketik dan tekan Enter.

Jika Anda memiliki frasa sandi yang ditetapkan untuk kunci pribadi Anda, Anda harus memasukkannya.

Berikut ini akan berada dalam status terhubung. Anda dapat melihat bahwa pengguna di sisi server sedang ditampilkan, bukan klien. Saat jendela ini ditampilkan, jendela ini terhubung, jadi tolong jangan tutup. Jika Anda menutupnya, koneksi akan terputus.

Saat terhubung dengan Putty

Di sini, kita akan mencoba terhubung ke SSH dengan alat bernama PuTTY.

Mengonversi kunci privat

Pertama, jika Anda menggunakan PuTTY, Anda perlu mengonversi kunci pribadi. Saya pikir ada "puttygen .exe" di alat terlampir, jadi silakan mulai.

Pilih "Konversi -> kunci Impor" dari menu.

Pilih kunci privat yang Anda buat, dalam hal ini, "id_rsa".

Jika Anda telah menetapkan kata sandi, masukkan.

Pilih "File -> Save private key" dari menu.

「. .ppk".

Setelah dibuat, Anda selesai.

Mengonfigurasi Putty

Luncurkan dempul.exe.

Masukkan alamat IP lingkungan yang ingin Anda sambungkan. Jika Anda memiliki domain, Anda dapat terhubung dengan nama domain.

Pilih Koneksi -> Data dari menu di sebelah kiri. Di bidang Nama pengguna masuk otomatis, masukkan nama akun lingkungan yang ingin Anda sambungkan.

Dari menu di sebelah kiri, pilih Koneksi -> SSH -> Terowongan. Masukkan masing-masing di bidang input di bawah ini dan klik tombol "Tambah".

Nama Parameter Nilai Keterangan
Port sumber 13389 Port gratis apa pun bisa digunakan. Saya akan menggunakannya nanti
Tujuan 127.0.0.1:3389

Saat ditambahkan, seharusnya terlihat seperti ini:

Selanjutnya, pilih "Koneksi -> SSH -> Auth -> Cledentioals" dari menu di sebelah kiri dan klik tombol Browse untuk "File kunci pribadi untuk otentikasi".

Pilih kunci pribadi yang telah Anda simpan.

Pilih "Sesi" di menu sebelah kiri, masukkan nama pilihan Anda untuk Simpan Sesi, dan klik tombol Simpan. Mulai waktu berikutnya dan seterusnya, tidak apa-apa jika Anda memuat pengaturan ini.

Setelah mengonfirmasi penyimpanan, klik tombol "Buka".

Layar berikut akan ditampilkan saat menghubungkan untuk pertama kalinya. Klik tombol Terima.

Anda akan melihat layar yang terlihat seperti command prompt. Jika Anda memiliki kata sandi untuk kunci privat, masukkan.

Jika konten tampilan berubah seperti yang ditunjukkan di bawah ini, konten tersebut akan terhubung. Anda dapat melihat bahwa pengguna di sisi server sedang ditampilkan, bukan klien. Saat jendela ini ditampilkan, jendela ini terhubung, jadi tolong jangan tutup. Jika Anda menutupnya, koneksi akan terputus.

Membuat koneksi desktop jarak jauh dengan SSH

Sekarang, mari kita buat koneksi desktop jarak jauh saat terhubung dengan SSH.

Saat menghubungkan, bagian komputer bukanlah alamat jarak jauh yang sebenarnya, tetapi "localhost:< > nama port yang ditentukan dalam koneksi SSH". Dalam contoh, 13389 ditentukan, jadi di sini kita akan terhubung ke "localhost:13389".

Jika layar otentikasi ditampilkan, Anda dapat menilai bahwa koneksi selesai. Masukkan nama pengguna dan kata sandi Anda untuk terhubung.

Jika Anda dapat terhubung seperti ini, Anda telah berhasil.

Nonaktifkan koneksi desktop jarak jauh biasa di pengaturan firewall

Pada saat item sebelumnya, Anda sekarang dapat terhubung dengan desktop jarak jauh menggunakan SSH. Namun, dalam keadaan ini, "Remote Desktop Connection by SSH" hanya telah ditambahkan ke "Normal Remote Desktop Connection". Dalam hal keamanan, itu tidak menambahkan apa pun. Jadi hal berikutnya yang harus dilakukan adalah mencegah "koneksi desktop jarak jauh normal".

Jika Anda membuat pengaturan ini, Anda tidak akan dapat terhubung kecuali untuk "koneksi desktop jarak jauh oleh SSH", jadi jika Anda mengacaukan pengaturan, Anda mungkin tidak memiliki sarana untuk terhubung dari jarak jauh. Oleh karena itu, pastikan untuk memeriksa terlebih dahulu bahwa "koneksi desktop jarak jauh oleh SSH" dimungkinkan, dan dapat mengoperasikan lingkungan jarak jauh dengan cara lain bahkan jika klien yang Anda coba sambungkan menghilang.

Di sini, konfigurasikan pengaturan firewall di "Remote Desktop Connection via SSH". Ini karena jika Anda melakukan operasi dengan "koneksi desktop jarak jauh normal", itu akan terputus saat Anda mengatur firewall.

Lihat Windows Defender Firewall dengan Advanced Security. Tergantung pada versi Windows, lokasi tampilan akan bervariasi, jadi harap tampilkan sesuai dengan versi itu.

Pilih Aturan Masuk dari menu di sebelah kiri.

Di daftar tengah, cari "Remote Desktop - User Mode (TCP In)" dan buka propertinya.

Pilih tab Lingkup, ubah alamat IP lokal ke Alamat IP ini, dan klik tombol Tambah.

Masukkan 127.0.0.1 dan klik OK tombol. Ini akan mencegah koneksi desktop jarak jauh dari mana saja selain 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 terhubung dari mana saja, jadi berhati-hatilah.

Klik baik tombol untuk mengonfirmasi.

Untuk saat ini, ini saja merupakan tindakan balasan, tetapi mari kita juga mengatur "Remote Desktop - Mode Pengguna (UDP Receive)".

Verifikasi bahwa Anda tidak dapat terhubung dari jarak jauh dengan apa pun selain SSH

Sekarang, coba buat koneksi desktop jarak jauh dari PC lain yang tidak menggunakan SSH.

Jika Anda dapat terhubung, layar otentikasi akan ditampilkan. Tidak apa-apa jika Anda dapat mengonfirmasi bahwa koneksi tidak dapat dibuat seperti yang ditunjukkan di bawah ini.

Ringkasan

Dengan Windows terbaru, sekarang mudah untuk memperkenalkan server SSH. Dengan menambahkan pengaturan, Anda sekarang dapat dengan mudah meningkatkan keamanan koneksi desktop jarak jauh Anda. Namun, karena hanya bertanggung jawab untuk langkah-langkah keamanan di Windows itu sendiri, Jika Anda ingin membuatnya lebih aman, saya pikir lebih baik untuk mengatur server SSH atau firewall terpisah sebelum terhubung ke Windows.

Selain itu, Anda dapat mengatur keamanan dengan ketat menggunakan SSH, tetapi ketika terlalu sulit, tidak ada yang dapat terhubung karena kesalahan operasional. Berhati-hatilah untuk tidak berakhir dengan itu.