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