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.