server

Dimulai dengan Windows 10 1809 dan Windows Server 2019, sistem operasi memiliki server SSH terintegrasi berdasarkan OpenSSH. Pada artikel ini, kami akan menunjukkan cara menginstal dan mengkonfigurasi server OpenSSH di Windows 10 dan menghubungkannya dari jarak jauh menggunakan protokol SSH yang aman (baik, seperti di Linux 🙂).

Anda dapat menginstal server OpenSSH di versi Windows sebelumnya, tetapi untuk ini Anda harus mengunduh dan menginstal port OpenSSH untuk win32 dari GitHub - Win32-OpenSSH (https://github.com/powershell/Win32-OpenSSH). Contoh menginstal dan mengkonfigurasi Win32-OpenSSH ada di artikel "Menginstal dan Mengonfigurasi SFTP Server (SSH FTP) di Windows".

Konten:

  • Menginstal OpenSSH Server pada Windows
  • Menyiapkan server SSH di Windows
  • Sshd_config: File Konfigurasi Server OpenSSH
  • Sambungkan ke Windows 10 melalui SSH

Menginstal OpenSSH Server pada Windows

Mari kita lihat cara menginstal komponen OpenSSH Server di Windows 10 1903 (Windows Server 2019 melakukan hal yang sama).

OpenSSH (seperti RSAT) sudah termasuk dalam versi Windows ini sebagai Feature on Demand (FoD).

Jika Anda memiliki koneksi Internet langsung, Anda dapat menginstal server OpenSSH menggunakan PowerShell

Add-WindowsCapability -Online -Name OpenSSH.Server *

Atau menggunakan DISM:

dism / Online / Add-Capability /CapabilityName:OpenSSH.Server ~~.0.0.0.0

Di Windows 10, komponen ini juga dapat diinstal melalui panel Opsi (Aplikasi -> Kelola komponen tambahan -> Tambahkan komponen). Temukan dalam daftar Buka ssh server dan tekan tombol Instal).

Untuk memverifikasi bahwa server OpenSSH diinstal, jalankan:
Dapatkan-Kemampuan Windows -Online | ? Seperti 'OpenSSH.Ser * seperti

Negara: Terpasang

Menyiapkan server SSH di Windows

Setelah server terdaftar OpenSSH pada Windows, Anda perlu mengubah jenis layanan mulai sshd untuk secara otomatis dan memulai layanan menggunakan PowerShell:

Set-Layanan -Nama sshd -StartupType 'Otomatis'
Mulai-Layanan sshd

Menggunakan nestat, pastikan server SSH berjalan pada sistem dan sedang menunggu koneksi pada port 22:

netstat -na | temukan ": 22"

Verifikasi bahwa aturan Firewall Windows Defender diaktifkan yang memungkinkan koneksi masuk ke Windows melalui TCP / 22.

Get-NetFirewallRule -Name * OpenSSH-Server * | pilih Nama, DisplayName, Deskripsi, Diaktifkan

Nama DisplayName Deskripsi Diaktifkan ---- ----------- ----------- ------- OpenSSH-Server-In-TCP OpenSSH SSH Server (sshd) Aturan masuk untuk OpenSSH SSH Server (sshd) Benar

Jika aturan dinonaktifkan (Diaktifkan = Salah) atau hilang, Anda bisa membuat aturan masuk baru dengan perintah New-NetFirewallRule:

New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled Benar -Inireksi Masuk -Protocol TCP -Action Allow -LocalPort 22

Secara default, komponen OpenSSH penting disimpan dalam direktori berikut:

  • Executable OpenSSH Server: C: \ Windows \ System32 \ OpenSSH \
  • File konfigurasi Sshd_config (dibuat setelah awal pertama layanan): C: \ ProgramData \ ssh
  • Majalah OpenSSH: C: \ windows \ system32 \ OpenSSH \ logs \ sshd.log
  • File dan kunci Authorized_keys: % USERPROFILE% \. Ssh \

Saat memasang server OpenSSH di sistem, sshd pengguna lokal baru dibuat.

Sshd_config: File Konfigurasi Server OpenSSH

Anda dapat mengubah pengaturan server OpenSSH di file konfigurasi% programdata% \ ssh \sshd_config.

Misalnya, untuk melarang koneksi SSH untuk pengguna domain tertentu (dan semua pengguna domain tertentu), tambahkan arahan berikut di akhir file:

DenyUsers winitpro \ [email protected] DenyUsers corp \ *

Untuk mengizinkan koneksi hanya untuk grup domain tertentu:

AllowGroups winitpro \ sshadmins

Atau Anda dapat mengizinkan akses untuk grup lokal:

AllowGroups sshadmin

Dimungkinkan untuk melarang login di bawah akun dengan hak administrator, dalam hal ini, untuk melakukan tindakan istimewa dalam sesi SSH, Anda perlu melakukan runas.

Administrator Denygroups

Arahan berikut memungkinkan akses SSH dengan kunci (akses ke Windows melalui SSH dengan kunci akan dibahas secara rinci di artikel berikutnya) dan kata sandi:

PubkeyAuthentication ya PasswordAuthentication ya

Anda dapat mengubah port tempat ia menerima koneksi OpenSSH di file konfigurasi sshd_config dalam direktif Port.

Setelah ada perubahan pada file konfigurasi sshd_config, Anda perlu me-restart layanan sshd:

mulai ulang layanan sshd

Sambungkan ke Windows 10 melalui SSH

Sekarang Anda dapat mencoba untuk terhubung ke Windows 10 Anda melalui klien SSH (saya menggunakan dempul, tetapi saya dapat menggunakan klien ssh bawaan Windows).

Pertama kali Anda terhubung, permintaan standar muncul untuk menambahkan host ke daftar host SSH yang dikenal.

Klik Ya, dan di jendela yang terbuka, masuk sebagai pengguna Windows.

Setelah koneksi berhasil, shell perintah cmd.exe diluncurkan dengan prompt.

admin @ win10tst C: \ Users \ admin>

Di baris perintah, Anda dapat menjalankan berbagai perintah, menjalankan skrip dan program.

Saya lebih suka bekerja di baris perintah PowerShell. Untuk memulai juru bahasa PowerShell, jalankan:

powershell.exe

Untuk mengubah Shell default di OpenSSH dari cmd.exe ke PowerShell, buat perubahan ke registri dengan perintah ini:

New-ItemProperty -Path "HKLM: \ SOFTWARE \ OpenSSH" -Nama DefaultShell -Nilai "C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ powershell.exe" -PropertyType String -Force

Tetap untuk memulai kembali koneksi SSH dan memastikan bahwa shell PowerShell digunakan selama koneksi (ini ditunjukkan oleh undangan PS C: \ Users \ admin>).

Dalam sesi SSH, konsol PowerShell diluncurkan, di mana fungsi yang biasa bekerja: penyelesaian otomatis, pewarnaan oleh modul PSReadLine, riwayat perintah, dll. Jika pengguna saat ini adalah anggota grup administrator lokal, maka semua perintah dalam sesinya dijalankan dengan hak yang tinggi bahkan ketika UAC diaktifkan.