OpenSSH adalah alat konektivitas untuk masuk jarak jauh yang menggunakan protokol SSH. Ini mengenkripsi semua lalu lintas antara klien dan server untuk menghilangkan penyadapan, pembajakan koneksi, dan serangan lainnya.
Klien yang kompatibel dengan OpenSSH dapat digunakan untuk menyambungkan ke perangkat klien Windows Server dan Windows.
Artikel ini menggunakan fitur OpenSSH on Demand di Windows dan Windows Server. Microsoft mendukung dan melayani versi ini melalui Windows Update, sehingga ini adalah opsi yang direkomendasikan oleh sebagian besar pengguna.
Microsoft juga mengelola PowerShell/openssh-portable, sebuah cabang dari proyek OpenSSH sumber terbuka upstream. Rilisnya mungkin berbeda dari versi di Windows.
Prerequisites
Sebelum memulai, komputer Anda harus memenuhi persyaratan berikut:
Perangkat yang menjalankan setidaknya Server Windows 2019 atau Windows 10 (build 1809).
PowerShell 5.1 atau yang lebih baru.
Akun yang merupakan anggota grup Administrator bawaan.
Pemeriksaan prasyarat
Untuk memvalidasi lingkungan Anda, buka sesi PowerShell yang ditingkatkan dan lakukan hal berikut:
Masukkan winver.exe dan tekan enter untuk melihat detail versi untuk perangkat Windows Anda.
Jalankan $PSVersionTable.PSVersion. Verifikasi versi utama Anda setidaknya 5, dan versi minor Anda setidaknya 1. Pelajari selengkapnya tentang menginstal PowerShell di Windows.
Untuk memeriksa kapan Anda adalah administrator, jalankan perintah berikut. Output menunjukkan True saat Anda menjadi anggota grup Administrator bawaan.
(New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
Aktifkan Server OpenSSH
Dimulai dengan Windows Server 2025, OpenSSH sekarang diinstal secara default. Anda juga dapat mengaktifkan atau menonaktifkan layanan sshd di Server Manager.
Untuk mengaktifkan SSHD menggunakan Server Manager:
Di Server Manager, pada panel navigasi di sebelah kiri, pilih Local Server.
Di jendela Properti , temukan Akses SSH Jarak Jauh.
Pilih Diaktifkan untuk mengaktifkan layanan OpenSSH.
Note
Jika Anda perlu mengizinkan atau membatasi pengguna atau grup tertentu agar tidak menggunakan OpenSSH untuk akses jarak jauh, tambahkan mereka ke grup pengguna Pengguna OpenSSH .
Untuk mengaktifkan SSHD menggunakan PowerShell:
Buka PowerShell sebagai administrator dan jalankan cmdlet berikut untuk memulai layanan SSHD:
# Start the sshd service
Start-Service sshd
Anda juga dapat menjalankan cmdlet opsional tetapi direkomendasikan berikut untuk memulai SSHD secara otomatis untuk memastikan cmdlet tersebut tetap diaktifkan:
Set-Service -Name sshd -StartupType 'Automatic'
Terakhir, jalankan perintah berikut untuk memverifikasi bahwa proses penyiapan SSHD secara otomatis mengonfigurasi aturan firewall:
if (!(Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue)) {
Write-Output "Firewall Rule 'OpenSSH-Server-In-TCP' does not exist, creating it..."
New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
} else {
Write-Output "Firewall rule 'OpenSSH-Server-In-TCP' has been created and exists."
}
Menginstal OpenSSH Server & Client
Untuk menginstal komponen OpenSSH pada perangkat Windows Server:
Pilih Mulai, ketik Fitur Opsional di kotak pencarian, lalu pilih Fitur Opsional.
Pindai daftar untuk melihat apakah OpenSSH sudah diinstal. Jika tidak, di bagian atas halaman, pilih Fitur tampilan, lalu:
Cari dan pilih OpenSSH Client, lalu pilih Tambahkan
Cari dan pilih OpenSSH Server, lalu pilih Tambahkan
Buka aplikasi desktop Layanan . (Pilih Mulai, ketik services.msc di kotak pencarian, lalu pilih aplikasi Layanan atau tekan ENTER.)
Di panel detail, klik dua kali OpenSSH SSH Server.
Pada tab Umum , dari menu drop-down Jenis startup , pilih Otomatis lalu pilih Ok.
Untuk memulai layanan, pilih Mulai.
Note
Menginstal OpenSSH Server membuat dan mengaktifkan aturan firewall bernama OpenSSH-Server-In-TCP. Aturan ini memungkinkan lalu lintas SSH masuk pada port 22. Jika aturan ini tidak diaktifkan dan port ini tidak terbuka, koneksi ditolak atau direset.
Untuk menginstal OpenSSH menggunakan PowerShell:
Jalankan PowerShell sebagai Administrator.
Jalankan cmdlet berikut untuk memastikan bahwa OpenSSH tersedia:
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
Perintah harus mengembalikan output berikut jika tidak ada yang sudah diinstal:
Name : OpenSSH.Client~~~~0.0.1.0
State : NotPresent
Name : OpenSSH.Server~~~~0.0.1.0
State : NotPresent
Setelah itu, jalankan cmdlet berikut untuk menginstal komponen server atau klien sesuai kebutuhan:
# Install the OpenSSH Client
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
# Install the OpenSSH Server
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Kedua perintah harus mengembalikan output berikut:
Path :
Online : True
RestartNeeded : False
Untuk memulai dan mengonfigurasi OpenSSH Server untuk penggunaan awal, buka perintah PowerShell yang ditinggikan (klik kanan, lalu pilih Jalankan sebagai administrator), lalu jalankan perintah berikut untuk memulai sshd service:
# Start the sshd service
Start-Service sshd
# OPTIONAL but recommended:
Set-Service -Name sshd -StartupType 'Automatic'
# Confirm the Firewall rule is configured. It should be created automatically by setup. Run the following to verify
if (!(Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue)) {
Write-Output "Firewall Rule 'OpenSSH-Server-In-TCP' does not exist, creating it..."
New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
} else {
Write-Output "Firewall rule 'OpenSSH-Server-In-TCP' has been created and exists."
}
Menginstal OpenSSH Server & Client
Untuk menginstal komponen OpenSSH pada perangkat Windows Server:
Pilih Mulai, ketik Fitur Opsional di kotak pencarian, lalu pilih Tambahkan fitur opsional.
Pindai daftar untuk melihat apakah OpenSSH sudah diinstal. Jika tidak, di bagian atas halaman, pilih Tambahkan fitur, lalu:
Cari Klien OpenSSH, lalu pilih Instal
Cari OpenSSH Server, lalu pilih Instal
Buka aplikasi desktop Layanan . (Pilih Mulai, ketik services.msc di kotak pencarian, lalu pilih aplikasi Layanan atau tekan ENTER.)
Di panel detail, klik dua kali OpenSSH SSH Server.
Pada tab Umum , dari menu drop-down Jenis startup , pilih Otomatis lalu pilih Ok.
Untuk memulai layanan, pilih Mulai.
Note
Menginstal OpenSSH Server membuat dan mengaktifkan aturan firewall bernama OpenSSH-Server-In-TCP. Aturan ini memungkinkan lalu lintas SSH masuk pada port 22. Jika aturan ini tidak diaktifkan dan port ini tidak terbuka, koneksi ditolak atau direset.
Untuk menginstal OpenSSH menggunakan PowerShell:
Jalankan PowerShell sebagai Administrator.
Jalankan cmdlet berikut untuk memastikan bahwa OpenSSH tersedia:
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
Perintah harus mengembalikan output berikut jika tidak ada yang sudah diinstal:
Name : OpenSSH.Client~~~~0.0.1.0
State : NotPresent
Name : OpenSSH.Server~~~~0.0.1.0
State : NotPresent
Setelah itu, jalankan cmdlet berikut untuk menginstal komponen server atau klien sesuai kebutuhan:
# Install the OpenSSH Client
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
# Install the OpenSSH Server
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Kedua perintah harus mengembalikan output berikut:
Path :
Online : True
RestartNeeded : False
Untuk memulai dan mengonfigurasi OpenSSH Server untuk penggunaan awal, buka perintah PowerShell yang ditinggikan (klik kanan, lalu pilih Jalankan sebagai administrator), lalu jalankan perintah berikut untuk memulai sshd service:
# Start the sshd service
Start-Service sshd
# OPTIONAL but recommended:
Set-Service -Name sshd -StartupType 'Automatic'
# Confirm the Firewall rule is configured. It should be created automatically by setup. Run the following to verify
if (!(Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue)) {
Write-Output "Firewall Rule 'OpenSSH-Server-In-TCP' does not exist, creating it..."
New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
} else {
Write-Output "Firewall rule 'OpenSSH-Server-In-TCP' has been created and exists."
}
Menginstal OpenSSH Server & Client
Untuk menginstal komponen OpenSSH pada perangkat Windows Server:
Pilih Mulai, ketik Fitur Opsional di kotak pencarian, lalu pilih Fitur Opsional (juga disebut sebagai Kelola fitur opsional).
Pindai daftar untuk melihat apakah OpenSSH sudah diinstal. Jika tidak, di bagian atas halaman, pilih Tambahkan fitur, lalu:
Cari Klien OpenSSH, lalu pilih Instal
Cari OpenSSH Server, lalu pilih Instal
Buka aplikasi desktop Layanan . (Pilih Mulai, ketik services.msc di kotak pencarian, lalu pilih aplikasi Layanan atau tekan ENTER.)
Di panel detail, klik dua kali OpenSSH SSH Server.
Pada tab Umum , dari menu drop-down Jenis startup , pilih Otomatis lalu pilih Ok.
Untuk memulai layanan, pilih Mulai.
Note
Menginstal OpenSSH Server membuat dan mengaktifkan aturan firewall bernama OpenSSH-Server-In-TCP. Aturan ini memungkinkan lalu lintas SSH masuk pada port 22. Jika aturan ini tidak diaktifkan dan port ini tidak terbuka, koneksi ditolak atau direset.
Untuk menginstal OpenSSH menggunakan PowerShell:
Jalankan PowerShell sebagai Administrator.
Jalankan cmdlet berikut untuk memastikan bahwa OpenSSH tersedia:
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
Perintah harus mengembalikan output berikut jika tidak ada yang sudah diinstal:
Name : OpenSSH.Client~~~~0.0.1.0
State : NotPresent
Name : OpenSSH.Server~~~~0.0.1.0
State : NotPresent
Setelah itu, jalankan cmdlet berikut untuk menginstal komponen server atau klien sesuai kebutuhan:
# Install the OpenSSH Client
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
# Install the OpenSSH Server
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Kedua perintah harus mengembalikan output berikut:
Path :
Online : True
RestartNeeded : False
Untuk memulai dan mengonfigurasi OpenSSH Server untuk penggunaan awal, buka perintah PowerShell yang ditinggikan (klik kanan, lalu pilih Jalankan sebagai administrator), lalu jalankan perintah berikut untuk memulai sshd service:
# Start the sshd service
Start-Service sshd
# OPTIONAL but recommended:
Set-Service -Name sshd -StartupType 'Automatic'
# Confirm the Firewall rule is configured. It should be created automatically by setup. Run the following to verify
if (!(Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue)) {
Write-Output "Firewall Rule 'OpenSSH-Server-In-TCP' does not exist, creating it..."
New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
} else {
Write-Output "Firewall rule 'OpenSSH-Server-In-TCP' has been created and exists."
}
Sambungkan ke Server OpenSSH:
Setelah diinstal, Anda dapat terhubung ke OpenSSH Server dari perangkat Windows atau Windows Server dengan klien OpenSSH yang diinstal. Dari perintah PowerShell, jalankan perintah berikut.
ssh domain\username@servername
Setelah tersambung, Anda mendapatkan pesan yang mirip dengan output berikut.
The authenticity of host 'servername (10.00.00.001)' can't be established.
ECDSA key fingerprint is SHA256:(<a large string>).
Are you sure you want to continue connecting (yes/no)?
Memasukkan yes menambahkan server tersebut ke daftar host SSH yang diketahui di klien Windows Anda.
Pada titik ini, layanan meminta kata sandi Anda. Sebagai tindakan pencegahan keamanan, karakter kata sandi Anda tidak ditampilkan saat Anda memasukkannya.
Setelah tersambung, Anda akan melihat perintah shell Windows berikut:
domain\username@SERVERNAME C:\Users\username>
Nonaktifkan Server OpenSSH
Anda dapat menonaktifkan layanan sshd di Server Manager.
Untuk menonaktifkan SSHD menggunakan Server Manager:
Di Server Manager, pada panel navigasi di sebelah kiri, pilih Local Server.
Di jendela Properti , temukan Akses SSH Jarak Jauh.
Pilih Dinonaktifkan untuk menonaktifkan layanan OpenSSH.
Note
Jika Anda perlu mengizinkan atau membatasi pengguna atau grup tertentu agar tidak menggunakan OpenSSH untuk akses jarak jauh, tambahkan mereka ke grup pengguna Pengguna OpenSSH .
Untuk menonaktifkan SSHD menggunakan PowerShell:
Buka PowerShell sebagai administrator dan jalankan cmdlet berikut untuk memulai layanan SSHD:
# Stop the sshd service
Stop-Service sshd
Anda juga dapat menjalankan cmdlet opsional tetapi direkomendasikan berikut untuk memulai SSHD secara otomatis untuk memastikan cmdlet tersebut tetap diaktifkan:
Set-Service -Name sshd -StartupType 'Disabled'
Terakhir, jalankan perintah berikut untuk menonaktifkan aturan firewall SSHD default:
if ((Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue)) {
Write-Output "Firewall rule 'OpenSSH-Server-In-TCP' is being disabled."
Disable-NetFirewallRule -Name 'OpenSSH-Server-In-TCP'
} else {
Write-Output "Firewall Rule 'OpenSSH-Server-In-TCP' does not exist, disable failed..."
}
Copot Instalasi Server OpenSSH & Klien
Untuk menghapus instalasi OpenSSH menggunakan Pengaturan Windows:
Pilih Mulai, ketik Fitur Opsional di kotak pencarian, lalu pilih Fitur opsional.
Pindai daftar untuk melihat apakah OpenSSH diinstal:
Cari dan pilih OpenSSH Client, lalu pilih Hapus
Cari dan pilih OpenSSH Server, lalu pilih Hapus
Untuk menghapus instalasi komponen OpenSSH menggunakan PowerShell, ikuti langkah-langkah berikut.
Buka PowerShell sebagai administrator.
Untuk menghapus OpenSSH, gunakan perintah berikut:
# Uninstall the OpenSSH Client
Remove-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
# Uninstall the OpenSSH Server
Remove-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Terakhir, jalankan perintah berikut untuk menghapus aturan firewall:
if ((Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue)) {
Write-Output "Firewall rule 'OpenSSH-Server-In-TCP' is being removed."
Remove-NetFirewallRule -Name 'OpenSSH-Server-In-TCP'
} else {
Write-Output "Firewall Rule 'OpenSSH-Server-In-TCP' does not exist, removal failed..."
}
Copot Instalasi Server OpenSSH & Klien
Untuk menghapus instalasi OpenSSH menggunakan Pengaturan Windows:
Pilih Mulai, ketik Fitur Opsional di kotak pencarian, lalu pilih Fitur opsional (juga disebut sebagai Kelola fitur opsional atau Lihat riwayat fitur opsional).
Dalam daftar, pilih OpenSSH Client atau OpenSSH Server.
Pilih Hapus instalan.
Untuk menghapus instalasi komponen OpenSSH menggunakan PowerShell, ikuti langkah-langkah berikut.
Buka PowerShell sebagai administrator.
Untuk menghapus OpenSSH, gunakan perintah berikut:
# Uninstall the OpenSSH Client
Remove-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
# Uninstall the OpenSSH Server
Remove-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Terakhir, jalankan perintah berikut untuk menghapus aturan firewall:
if ((Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue)) {
Write-Output "Firewall rule 'OpenSSH-Server-In-TCP' is being removed."
Remove-NetFirewallRule -Name 'OpenSSH-Server-In-TCP'
} else {
Write-Output "Firewall Rule 'OpenSSH-Server-In-TCP' does not exist, removal failed..."
}
Jika layanan sedang digunakan saat Anda menghapus instalannya, Anda harus memulai ulang Windows.
Langkah selanjutnya
Sekarang setelah Anda selesai menginstal OpenSSH Server untuk Windows, berikut adalah beberapa artikel yang dapat membantu Anda mempelajari cara menggunakannya: