A. OpenSSH Kurulumu
a. Ayarlar üzerinden OpenSSh kurulumu
1.
OpenSSH’ı sisteme kurmak için Ayarlar açılır ve Uygulamalar butonuna tıklanır.
2.
Ardından açılan Uygulamalar ve Özellikler sekmesinde İsteğe bağlı özellikleri yönet ‘e tıklanır.
3.
Açılan listede OpenSSH İstemcisinin
veya sunucusunun yüklü olup olmadığı
görüntülenebilir. Eğer yüklü değilse Özellik
ekle butonuna tıklanır.
4.
Ardından açılan listede yüklenmesi istenilen bileşen bulunup
yüklenebilir.
NOT: OpenSSH Sunucusu yüklemek, “OpenSSH-Server-In-TCP” isimli ve port 22 den gelen SSH trafiğine izin veren bir “Güvenlik duvarı” kuralı oluşturur.
b.PowerShell ile OpenSSH kurulumu
Windows tuşu + X ile açılan pencere “WindowsPowerShell (Yönetici)” seçilerek powershell komut ekranı yönetici izinleri ile çalıştırılır.OpenSSH istemcisini yüklemek için;
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
OpenSSH sunucusunu yüklemek için;
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Bu komutların çalıştırılması aşağıda verilen çıktıyı verecektir.
Path :
Online : True
RestartNeeded : False
NOT: Yüklemek istenen OpenSSH ın sürüm ve paket ismi kontrolü
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
komutu ile yapılabilir. Bu komutun çalıştırılması şu çıktıyı verecektir:
Name : OpenSSH.Client~~~~0.0.1.0
State : NotPresent
Name : OpenSSH.Server~~~~0.0.1.0
State : NotPresent
B. OpenSSH ‘ı
Kaldırmak
Windows Ayarlar’ı kullanarak
OpenSSH’ı kaldırmak için “Uygulamalar
- > Uygulamalar ve Özellikler - >
İsteğe bağlı özellikleri yönet” e gidilir. Bu listede istenilen bileşenler
seçilip ‘Kaldır’ seçilerek kaldırılabilir.
PowerShell kullanarak OpenSSH ı kaldırmak için,
Remove-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
veya
Remove-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
komutları kullanılabilir.
C. OpenSSh Sunucusunu Yapılandırmak
a. Başlangıç
--- “sshd” servisini başlatmak için:
Start-Service sshd
--- Windows başlatıldığında sshd servisinin otomatik olarak başlatılması için:
Set-Service -Name sshd -StartupType 'Automatic'
--- “OpenSSh-Server-In-TCP” isimli güvenlik duvarı kuralının “enabled” durumda olup olmadığını kontrol etmek için:
Get-NetFirewallRule -Name *ssh*
komutları kullanılabilir.
b. Varsayılan komut kabuğu (Default command shell)
Windows sisteme yapılan ssh bağlantısında kullanıcıların karşılaşacağı varsayılan komut kabuğu (command shell) “cmd.exe” dir.Varsayılan komut kabuğunu PowerShell olarak değiştirmek için,
New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String –Force
komutu
girilir.
Windows 10 1089 OpenSSH desteklenen özellikler
Windows’ta sshd yapılandırma
ayarlarını varsayılan olarak C:\programdata\ssh\sshd_config dosyasından okur.Bu
dosyada yapılan değişikliklerle ssh sunucusu yapılandırılabilir.
·
AllowGroups, AllowUsers, DenyGroups ve DenyUsers
·
AuthenticationMethods (Windows’ta sadece
“password” ve “publickey metodları kullanılabilir.
·
ChrootDirectory
·
HostKey
·
Match
·
PermitRootLogin
·
SyslogFacility
Windows 10
1809 OpenSSH desteklenmeyen özellikler
· AcceptEnv
· AllowStreamLocalForwarding
· AuthorizedKeysCommand
· AuthorizedKeysCommandUser
· AuthorizedPrincipalsCommand
· AuthorizedPrincipalsCommandUser
· Compression
· ExposeAuthInfo
· GSSAPIAuthentication
· GSSAPICleanupCredentials
· GSSAPIStrictAcceptorCheck
· HostbasedAcceptedKeyTypes
· HostbasedAuthentication
· HostbasedUsesNameFromPacketOnly
· IgnoreRhosts
· IgnoreUserKnownHosts
· KbdInteractiveAuthentication
· KerberosAuthentication
· KerberosGetAFSToken
· KerberosOrLocalPasswd
· KerberosTicketCleanup
· PermitTunnel
· PermitUserEnvironment
· PermitUserRC
· PidFile
· PrintLastLog
· RDomain
· StreamLocalBindMask
· StreamLocalBindUnlink
· StrictModes
· X11DisplayOffset
· X11Forwarding
· X11UseLocalhost
· XAuthLocation
Kaynakça:
docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_server_configuration