Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makale, OpenSSH Sunucusu (sshd) için Windows'a özgü yapılandırmayı kapsar.
OpenSSH, yapılandırma seçeneklerine yönelik ayrıntılı belgeleri çevrimiçi olarak OpenSSH.com adresinde tutar. Bu belge bu belge kümesinde yinelenmemiştir.
OpenSSH yapılandırma dosyaları
OpenSSH'de hem sunucu hem de istemci ayarları için yapılandırma dosyaları vardır. OpenSSH açık kaynaktır ve Windows Server 2019 ve Windows 10 (derleme 1809) ile başlayan Windows Server ve Windows istemci işletim sistemlerine eklendi. OpenSSH yapılandırma dosyaları için açık kaynak belgeleri burada tekrarlanmıyor. İstemci yapılandırma dosyaları ssh_config el ile sayfasında bulunabilir. OpenSSH sunucu yapılandırma dosyaları sshd_config el ile sayfasında bulunabilir.
OpenSSH Sunucusu varsayılan olarak yapılandırma verilerini okur %programdata%\ssh\sshd_config .
sshd.exe komutunu -f parametresiyle çalıştırarak farklı bir yapılandırma dosyası belirtebilirsiniz. Dosya eksikse, hizmet başlatıldığında sshd varsayılan yapılandırmaya sahip bir dosya oluşturur.
Windows'da OpenSSH İstemcisi (ssh), yapılandırma dosyasındaki yapılandırma verilerini aşağıdaki sırayla okur:
- Aracılığıyla
ssh.exe,-Fparametresiyle birlikte ve belirtilen yapılandırma dosyasından bir giriş adı ile başlatıldı. - Kullanıcının
%userprofile%\.ssh\configkonumundaki bir yapılandırma dosyası aracılığıyla. - konumundaki
%programdata%\ssh\ssh_configsistem genelindeki yapılandırma dosyası aracılığıyla.
Windows'da OpenSSH için özgün kabuğun ayarlarını yapılandırma
Varsayılan komut kabuğu, kullanıcının SSH kullanarak sunucuya bağlanırken gördüğü deneyimi sağlar. Windows'un ilk varsayılanı Windows komut istemidir (cmd.exe). Windows ayrıca PowerShell içerir ve Windows için Microsoft dışı komut kabukları da kullanılabilir ve bir sunucu için varsayılan kabuk olarak yapılandırılabilir.
Varsayılan komut kabuğunu ayarlamak için, önce OpenSSH yükleme klasörünün sistem yolunda olduğunu onaylayın.
Windows için varsayılan yükleme klasörü şeklindedir %systemdrive%\Windows\System32\openssh.
Aşağıdaki komut geçerli yol ayarını gösterir ve varsayılan OpenSSH yükleme klasörünü buna ekler.
| Komut satırı | Kullanılacak komut |
|---|---|
| Command | path |
| PowerShell | $env:path |
Dize değerine HKEY_LOCAL_MACHINE\SOFTWARE\OpenSSH kabuğun çalıştırılabilir dosyasının tam yolunu DefaultShell ekleyerek, Windows kayıt defterinde varsayılan ssh kabuğunu yapılandırabilirsiniz.
Aşağıdaki örnek yükseltilmiş PowerShell komutu, OpenSSH Sunucusu için varsayılan kabuğu olarak powershell.exe ayarlar. (Bu yolu ayarlamak OpenSSH İstemcisi için geçerli değildir.)
$NewItemPropertyParams = @{
Path = "HKLM:\SOFTWARE\OpenSSH"
Name = "DefaultShell"
Value = "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe"
PropertyType = "String"
Force = $true
}
New-ItemProperty @NewItemPropertyParams
sshd_config'de Windows yapılandırmaları
Windows'da sshd, yapılandırma verilerini varsayılan olarak %programdata%\ssh\sshd_config'den okur.
sshd.exe komutunu -f parametresiyle çalıştırarak farklı bir yapılandırma dosyası belirtebilirsiniz.
Dosya eksikse, hizmet başlatıldığında sshd varsayılan yapılandırmaya sahip bir dosya oluşturur.
Aşağıdaki bölümlerde, sshd_config girdileri aracılığıyla mümkün olan Windows'a özgü yapılandırma ayarları açıklanmaktadır. Burada listelenmeyen başka yapılandırma ayarları da olabilir. Bunlar Win32 OpenSSH belgelerinde ayrıntılı olarak ele alınmıştır.
Tip
Hizmet başlatıldığında OpenSSH Sunucusu (sshd) yapılandırma dosyasını okur. Yapılandırma dosyasında yapılan tüm değişiklikler hizmetin yeniden başlatılmasını gerektirir.
GruplaraİzinVer, KullanıcılaraİzinVer, GruplarıReddet, KullanıcılarıReddet
, , AllowGroupsAllowUsersDenyGroups ve yönergelerini kullanarak hangi kullanıcıların ve grupların sunucuya DenyUsersbağlanabileceğini denetleyebilirsiniz.
allow ve deny yönergeleri şu sırayla işlenir: DenyUsers, AllowUsers, DenyGroups ve son olarak AllowGroups.
Tüm hesap adları küçük harfle belirtilmelidir.
ssh_config desenler ve joker karakterler hakkında daha fazla bilgi için OpenBSD sshd_config kılavuz sayfasına bakın.
Kullanıcı/grup tabanlı kuralları bir etki alanı kullanıcısı veya grubuyla yapılandırırken aşağıdaki biçimi kullanın: user?domain*.
Windows, etki alanı sorumlularını belirtmek için birden çok biçime izin verir, ancak standart Linux desenleriyle çakışabilir. Bu nedenle, * Tam Etki Alanı Adlarını (FQDN) kapsamak için kullanılır. Ayrıca, bu yaklaşım ? yerine @ kullanarak username@host formatıyla çakışmaları önler.
İş grubu kullanıcıları, grupları ve internet'e bağlı hesaplar her zaman yerel hesap adlarına dönüştürülür (standart Unix adlarına benzer şekilde, etki alanı kısmı olmadan). Etki alanı kullanıcıları ve grupları NameSamCompatible biçiminde domain_short_name\user_namekesinlikle çözümlenir.
Tüm kullanıcı ve grup tabanlı yapılandırma kurallarının bu biçime uyması gerekir.
Aşağıdaki örnek, 192.168.2.23 ana bilgisayarından contoso\admin erişimini reddeder ve Contoso etki alanındaki tüm kullanıcıları engeller. Ayrıca contoso\sshusers ve contoso\serveroperators gruplarının üyesi olan kullanıcılara da izin verir.
DenyUsers contoso\admin@192.168.2.23
DenyUsers contoso\*
AllowGroups contoso\sshusers contoso\serveroperators
Aşağıdaki örnek, kullanıcının localuser 192.168.2.23 ana bilgisayarından oturum açmasına ve grubun sshusersüyelerine izin verir.
AllowUsers localuser@192.168.2.23
AllowGroups sshusers
AuthenticationMethods
Windows OpenSSH için kullanılabilen tek kimlik doğrulama yöntemleri password ve publickey'dir.
Important
Microsoft Entra hesabı aracılığıyla kimlik doğrulaması şu anda desteklenmiyor.
AuthorizedKeysFile
Varsayılan değer: .ssh/authorized_keys. Mutlak bir yol belirtmezseniz, OpenSSH dosyayı giriş dizininize göre (gibi) C:\Users\usernamearar. Kullanıcı yönetici grubuna aitse, %programdata%/ssh/administrators_authorized_keys bunun yerine kullanılır.
Tip
administrators_authorized_keys dosyasının yalnızca hesap ve NT Authority\SYSTEM güvenlik grubu için BUILTIN\Administrators izin girdileri olmalıdır. NT Authority\SYSTEM hesabına tam denetim verilmelidir. Yöneticilerin BUILTIN\Administrators yetkili anahtarları yönetmesini sağlamak için güvenlik grubu gereklidir. Gerekli erişimi seçebilirsiniz. İzinleri vermek için yükseltilmiş bir PowerShell istemi açabilir ve komutunu icacls.exe "C:\ProgramData\ssh\administrators_authorized_keys" /inheritance:r /grant "Administrators:F" /grant "SYSTEM:F"çalıştırabilirsiniz.
ChrootDirectory (v7.7.0.0'da destek eklendi)
Bu yönerge yalnızca SFTP oturumlarında desteklenir.
cmd.exe içindeki uzak oturum, ChrootDirectory'yı/i'yi yerine getirmez. Sadece sftp chroot sunucusunu ayarlamak için ForceCommand değerini internal-sftp olarak ayarlayın. Ayrıca, yalnızca SCP ve SFTP'ye izin veren özel bir kabuk uygulayarak chroot ile SCP'yi ayarlayabilirsiniz.
GSSAPIAuthentication
Yapılandırma GSSAPIAuthentication bağımsız değişkeni, GSSAPI (Kerberos) tabanlı kullanıcı kimlik doğrulamasına izin verilip verilmeyeceğini belirtir. için GSSAPIAuthentication varsayılan değer hayır'dır.
GSSAPI kimlik doğrulaması, OpenSSH İstemcisi'ni kullanırken konak adını belirten -K anahtarını da gerektirir. Alternatif olarak, SSH istemci yapılandırmasında karşılık gelen bir giriş oluşturabilirsiniz. Windows'da OpenSSH İstemcisi varsayılan olarak yapılandırma verilerini okur %userprofile%\.ssh\config .
Aşağıda örnek bir GSSAPI OpenSSH İstemci yapılandırması verilmiştir:
# Specify a set of configuration arguments for a host matching the
# pattern SERVER01.contoso.com.
#
# Patterns are case sensitive.
Host SERVER01.contoso.com
# Enables GSSAPI authentication.
GSSAPIAuthentication yes
# Forward (delegate) credentials to the server.
GSSAPIDelegateCredentials yes
Important
GSSAPI yalnızca Windows Server 2022, Windows 11 ve Windows 10'dan (Mayıs 2021 Güncelleştirmesi) başlayarak kullanılabilir.
HostKey
Varsayılan değerler şunlardır:
#HostKey __PROGRAMDATA__/ssh/ssh_host_rsa_key
#HostKey __PROGRAMDATA__/ssh/ssh_host_dsa_key
#HostKey __PROGRAMDATA__/ssh/ssh_host_ecdsa_key
#HostKey __PROGRAMDATA__/ssh/ssh_host_ed25519_key
Varsayılanlar mevcut değilse, sshd bunları bir hizmet başlangıcında otomatik olarak oluşturur.
Match
Bir veya daha fazla ölçüt kullanarak koşulları eşleştirir. Bir eşleşmenin ardından, sonraki yapılandırma bağımsız değişkenleri uygulanır. Match, AllowGroups, AllowUsers, DenyGroups, DenyUsers bölümünde ele alınan desen kurallarını kullanır. Kullanıcı ve grup adları küçük harfle yazılmalıdır.
PermitRootLogin
Windows'ta geçerli değildir. Yöneticilerin oturum açmasını önlemek için, DenyGroups yönergesiyle Yöneticiler'i kullanın.
SyslogFacility
Dosya tabanlı loglama ihtiyacınız varsa, LOCAL0 kullanın. Günlükler %programdata%\ssh\logs altında oluşturulur. AUTH, varsayılan değer de dahil olmak üzere diğer tüm değerler için günlüğe kaydetmeyi ETW'ye yönlendirir. Daha fazla bilgi için bkz. Windows'ta Günlükleme Tesisleri.
Yapılandırma parametreleri
Aşağıdaki yapılandırma bağımsız değişkeni, Windows Server 2022, Windows 11 ve Windows 10 (Mayıs 2021 Güncelleştirmesi) sürümlerinden itibaren kullanılabilir:
GSSAPIAuthentication
Aşağıdaki yapılandırma bağımsız değişkenleri, Windows Server ve Windows'ta bulunan OpenSSH sürümünde kullanılamaz.
AcceptEnvAllowStreamLocalForwardingAuthorizedKeysCommandAuthorizedKeysCommandUserAuthorizedPrincipalsCommandAuthorizedPrincipalsCommandUserExposeAuthInfoGSSAPICleanupCredentialsGSSAPIStrictAcceptorCheckHostbasedAcceptedKeyTypesHostbasedAuthenticationHostbasedUsesNameFromPacketOnlyIgnoreRhostsIgnoreUserKnownHostsKbdInteractiveAuthenticationKerberosAuthenticationKerberosGetAFSTokenKerberosOrLocalPasswdKerberosTicketCleanupPermitTunnelPermitUserEnvironmentPermitUserRCPidFilePrintLastLogPrintMotdRDomainStreamLocalBindMaskStreamLocalBindUnlinkStrictModesX11DisplayOffsetX11ForwardingX11UseLocalhostXAuthLocation