Pardus Üzerinden SSH ile Windows Makinesine Bağlanma
Giriş
SSH (Secure Shell), Linux dünyasının vazgeçilmez uzaktan yönetim protokolüdür. Eskiden Windows sistemlerde uzaktan yönetim için çoğunlukla RDP (Remote Desktop) kullanılırken, günümüzde Microsoft'un OpenSSH Server desteği sayesinde Windows bilgisayarlar da SSH üzerinden güvenli şekilde yönetilebilmektedir.
Pardus kullanan sistem yöneticileri artık Windows bilgisayarlara;
Komut satırından bağlanabilir,
PowerShell komutları çalıştırabilir,
Dosya aktarabilir,
Otomasyon yazabilir,
Script gönderebilir,
Bakım işlemleri gerçekleştirebilir.
Bu makale özellikle;
Sistem yöneticileri
Siber güvenlik uzmanları
SOC analistleri
Ağ yöneticileri
BT öğretmenleri
Laboratuvar yöneticileri
için hazırlanmıştır.
SSH Nedir?
SSH;
Şifrelenmiş bağlantı kurar.
Kimlik doğrular.
Ağ üzerinden komut çalıştırır.
Dosya aktarır.
Tünel oluşturabilir.
Varsayılan port:
22
Windows'ta SSH Nasıl Çalışır?
Microsoft artık Windows içerisine doğrudan;
OpenSSH ClientOpenSSH Server
eklemektedir.
Yani artık ek yazılım kurmadan Windows'a SSH sunucusu kurulabilir.
Desteklenen sürümler:
Windows 10
Windows 11
Windows Server 2019
Windows Server 2022
Windows Server 2025
Senaryo
Makinemiz
PardusIP : 192.168.1.20
Windows
IP : 192.168.1.100Kullanıcı : Administrator
Bağlantı
Pardus ------SSH------> Windows
Windows'ta OpenSSH Server Kurulumu
PowerShell'i Yönetici olarak açın.
Kurulu mu kontrol edin.
Get-WindowsCapability -Online | Where Name -like 'OpenSSH*'
Örnek çıktı
OpenSSH.Client~~~~0.0.1.0 InstalledOpenSSH.Server~~~~0.0.1.0 NotPresent
Kurulum
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Servisi Başlatma
Start-Service sshd
Otomatik başlatma
Set-Service sshd -StartupType Automatic
Kontrol
Get-Service sshd
Firewall Açma
Windows genellikle otomatik ekler.
Kontrol
Get-NetFirewallRule *SSH*
Yoksa oluşturun.
New-NetFirewallRule `-Name sshd `-DisplayName "OpenSSH Server" `-Enabled True `-Direction Inbound `-Protocol TCP `-Action Allow `-LocalPort 22
Servisin Dinlediğini Kontrol Etme
netstat -ano | findstr :22
veya
Get-NetTCPConnection -LocalPort 22
Pardus'tan Bağlanma
SSH istemcisi zaten kurulu gelir.
Bağlanma
ssh Administrator@192.168.1.100
İlk bağlantıda
The authenticity of host...yes
yazılır.
Sonra
Password:
Windows şifresi girilir.
Başarılı Giriş
Microsoft WindowsC:\Users\Administrator>
Artık PowerShell komutları çalıştırabilirsiniz.
Hostname ile Bağlanma
ssh Administrator@WIN11-PC
veya
ssh Administrator@bilgisayar1
DNS gerekiyorsa isim çözümlenmelidir.
Port Belirtme
ssh -p 2222 Administrator@192.168.1.100
Farklı Kullanıcı
ssh okul@192.168.1.100
Çıkış
exit
Windows Komutları Çalıştırma
Bağlandıktan sonra
hostname
whoami
ipconfig
systeminfo
tasklist
dir
Get-Process
Get-Service
Get-ComputerInfo
Uzaktan Tek Komut Çalıştırma
Pardus'tan
ssh Administrator@192.168.1.100 hostname
veya
ssh Administrator@192.168.1.100 ipconfig
PowerShell
ssh Administrator@192.168.1.100 "Get-Service"
PowerShell Komutları
ssh admin@192.168.1.100 powershell
veya
ssh admin@192.168.1.100 "Get-ChildItem C:\"
SCP ile Dosya Gönderme
scp dosya.txt Administrator@192.168.1.100:C:/Users/Administrator/Desktop/
Windows'tan Pardus'a Dosya Alma
scp Administrator@192.168.1.100:C:/Logs/log.txt .
Klasör Gönderme
scp -r Belgeler Administrator@192.168.1.100:C:/Temp/
Anahtar (Key) Oluşturma
Pardus
ssh-keygen -t ed25519
Oluşur
~/.ssh/id_ed25519~/.ssh/id_ed25519.pub
Public Key
cat ~/.ssh/id_ed25519.pub
Windows'a Anahtar Kopyalama
Windows'ta
C:\Users\Administrator\.ssh
oluşturulur.
İçerisine
authorized_keys
dosyası açılır.
Linux'taki public key yapıştırılır.
İzinler
PowerShell
icacls `C:\Users\Administrator\.ssh `/inheritance:r
Yetkileri yalnızca kullanıcı ve SYSTEM hesabına bırakın.
Şifresiz Giriş
ssh Administrator@192.168.1.100
Artık parola sorulmadan bağlanılır.
SSH Yapılandırma Dosyası
Windows
C:\ProgramData\ssh\sshd_config
Önemli ayarlar
Port 22PasswordAuthentication yesPubkeyAuthentication yesPermitEmptyPasswords noMaxAuthTries 3AllowUsers Administrator
Servisi Yeniden Başlatma
Restart-Service sshd
Log Dosyaları
Event ViewerApplications and Services LogsOpenSSH
PowerShell
Get-WinEvent -LogName OpenSSH/Operational
Servis Kontrolü
Get-Service sshd
Get-Service ssh-agent
Bağlantı Testi
Pardus
nc -vz 192.168.1.100 22
veya
telnet 192.168.1.100 22
Ayrıntılı Hata Ayıklama
ssh -vvv Administrator@192.168.1.100
Port Değiştirme
Port 2222
Servisi yeniden başlatın.
Bağlanma
ssh -p 2222 Administrator@192.168.1.100
Belirli Kullanıcıya İzin Verme
AllowUsers Administrator
Birden fazla kullanıcı
AllowUsers Administrator BTadmin okul
Belirli IP'ye İzin Verme (Windows Güvenlik Duvarı)
Örnek olarak yalnızca 192.168.1.20 adresindeki Pardus makinesinin bağlanmasına izin verin:
New-NetFirewallRule `-DisplayName "SSH Sadece Pardus" `-Direction Inbound `-Protocol TCP `-LocalPort 22 `-RemoteAddress 192.168.1.20 `-Action Allow
Ardından genel erişim kuralını devre dışı bırakabilir veya daha kısıtlayıcı hale getirebilirsiniz.
Güvenlik Açısından En İyi Uygulamalar
1. ED25519 anahtarları kullanın
ssh-keygen -t ed25519
RSA yerine ED25519 daha hızlı ve daha güvenlidir.
2. Parola ile girişi kapatın
sshd_config dosyasında:
PasswordAuthentication noPubkeyAuthentication yes
Yalnızca anahtar doğrulaması kullanılacağından kaba kuvvet (brute force) saldırılarına karşı direnç artar.
3. Yönetici hesabı yerine ayrı bir yönetim hesabı kullanın
Doğrudan Administrator hesabıyla giriş yapmak yerine, yönetim yetkisi verilmiş ayrı bir kullanıcı oluşturmak daha güvenlidir.
4. Varsayılan 22 numaralı portu değiştirmeyi değerlendirin
Bu, otomatik taramaları tamamen engellemese de günlüklerdeki gereksiz tarama trafiğini azaltabilir. Güvenliğin temelini anahtar doğrulama ve güvenlik duvarı kuralları oluşturmalıdır.
5. Bağlantıları izleyin
Başarılı ve başarısız giriş denemelerini düzenli olarak inceleyin:
Get-WinEvent -LogName OpenSSH/Operational
Olay kayıtlarını merkezi bir SIEM (ör. Wazuh, ELK veya Graylog) sistemine aktararak korelasyon kuralları oluşturabilirsiniz.
Windows'a SSH ile bağlandıktan sonra hangi kabuğun (shell) açılacağı yapılandırmaya bağlıdır.
Eğer CMD açıldıysa PowerShell'e geçmek için
SSH oturumunda aşağıdaki komutu yazmanız yeterlidir:
powershell
veya PowerShell 7 (pwsh) kuruluysa:
pwsh
Başarılı olduğunda istem şu şekilde değişir:
Windows PowerShellCopyright (C) Microsoft Corporation.PS C:\Users\Administrator>
Tek satırda doğrudan PowerShell açmak
Pardus'tan bağlanırken:
ssh Administrator@192.168.1.100 powershell
veya
ssh Administrator@192.168.1.100 -t powershell
-t parametresi etkileşimli (interactive) PowerShell oturumu açılmasını sağlar.
Varsayılan kabuğu PowerShell yapmak
Her SSH bağlantısında powershell yazmak istemiyorsanız, OpenSSH sunucusunun varsayılan kabuğunu PowerShell olarak değiştirebilirsiniz.
Yönetici yetkili PowerShell'de:
New-ItemProperty `-Path "HKLM:\SOFTWARE\OpenSSH" `-Name DefaultShell `-Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" `-PropertyType String -Force
PowerShell 7 kullanıyorsanız:
New-ItemProperty `-Path "HKLM:\SOFTWARE\OpenSSH" `-Name DefaultShell `-Value "C:\Program Files\PowerShell\7\pwsh.exe" `-PropertyType String -Force
Ardından SSH servisini yeniden başlatın:
Restart-Service sshd
Artık Pardus'tan normal şekilde bağlandığınızda:
ssh Administrator@192.168.1.100
doğrudan şu istem açılır:
PS C:\Users\Administrator>
Bu yöntem özellikle sistem yöneticileri için önerilir; PowerShell'in gelişmiş komutları, nesne tabanlı yapısı ve uzaktan yönetim yetenekleri sayesinde Windows sistemlerini SSH üzerinden daha verimli yönetebilirsiniz.
PowerShell
Bilgi teknolojileri (BT) dünyasında, sistem yöneticileri ve ağ uzmanları için manuel işlemleri otomatize etmek hayati bir önem taşır. Özellikle çok sayıda cihazın bulunduğu laboratuvar ortamlarında veya kurumsal ağ altyapılarında, rutin yapılandırmaları cihazlara hızlıca dağıtmak için güçlü araçlara ihtiyaç duyulur. Microsoft tarafından geliştirilen modern bir otomasyon platformu ve görev tabanlı betik dili olan PowerShell, bu ihtiyacı karşılamak üzere tasarlanmıştır.
1. PowerShell Nedir ve Neden Kullanılmalıdır?
Eski nesil Komut İstemcisi'nin (CMD) ve Bash gibi geleneksel Linux kabuklarının aksine, PowerShell yalnızca metin tabanlı (text-based) değil, nesne tabanlı (object-oriented) bir yapıya sahiptir. Bu durum, komut çıktılarının ekrana yazdırılan basit metin dizileri yerine, özelliklere (properties) ve metodlara (methods) sahip tam teşekküllü nesneler olarak üretilmesi demektir.
Ağ analizleri, sunucu yapılandırmaları veya terminal üzerinden toplu cihaz yönetimi (SSH yapılandırmaları dahil) gibi işlemlerde komut çıktılarının nesne olması, verileri ayrıştırmayı ve diğer komutlara aktarmayı son derece kolaylaştırır.
Temel Özellikleri
Çapraz Platform Desteği: PowerShell Core (sürüm 6 ve sonrası) sayesinde sadece Windows'ta değil, Linux ve macOS işletim sistemlerinde de yerel olarak çalışır.
.NET Entegrasyonu: Gücünü doğrudan .NET altyapısından alır, bu da işletim sisteminin en derin bileşenlerine ve API'lerine doğrudan erişim imkanı sağlar.
Genişletilebilirlik: Harici modüller aracılığıyla sanallaştırma ortamları, bulut sistemleri (Azure, AWS) ve ağ donanımları komut satırından yönetilebilir.
2. Cmdlet ve Sözdizimi (Syntax) Yapısı
PowerShell içindeki yerleşik komutlar Cmdlet (command-let olarak okunur) olarak adlandırılır. Anlaşılabilirliği artırmak için standart bir Cmdlet her zaman Fiil-İsim (Verb-Noun) mantığıyla yazılır. Bu tutarlı isimlendirme kuralı, komutların ne işe yaradığını ezberlemeye gerek kalmadan tahmin etmenizi sağlar.
Get-Process: Çalışan işlemleri (süreçleri) getirir.
Stop-Service: Belirtilen bir hizmeti durdurur.
Test-NetConnection: Ağ bağlantısını ve port durumunu test eder.
Eski CMD ve PowerShell Karşılaştırması
İşlem Türü | Klasik CMD Komutu | PowerShell Karşılığı (Cmdlet) |
Dizin İçeriğini Listeleme | dir | Get-ChildItem |
IP Yapılandırmasını Görme | ipconfig | Get-NetIPAddress |
Bilgisayarı Kapatma | shutdown -s | Stop-Computer |
Metin Dosyasını Okuma | type dosya.txt | Get-Content dosya.txt |
3. Boru Hattı (Pipeline) Mantığı
PowerShell'in en güçlü özelliklerinden biri Pipeline, yani | (boru) operatörüdür. Bir komutun ürettiği nesne çıktısını, karmaşık metin ayrıştırma işlemlerine (parsing/regex) gerek kalmadan doğrudan bir sonraki komuta girdi olarak aktarır.
Örnek Senaryo: Bilgisayarda en çok bellek (RAM) tüketen ilk 5 işlemi bulmak ve listelemek.
Get-Process | Sort-Object WorkingSet -Descending | Select-Object -First 5
Sürecin İşleyişi: Sistemin tüm işlemlerini nesne olarak getir $\rightarrow$ Nesneleri "WorkingSet" (kullanılan bellek) özelliğine göre azalan şekilde sırala $\rightarrow$ Çıkan sonuç havuzundan sadece ilk 5 nesneyi seç ve göster.
4. Sistem ve Ağ Yönetiminde Kullanışlı Komutlar
Ağ cihazlarının denetimi, siber güvenlik incelemeleri veya bilgisayar laboratuvarlarındaki öğrenci makinelerinin uzaktan denetimi için aşağıdaki komutlar sıklıkla kullanılır:
Açık Port ve Bağlantı Testi Yapmak:
Belirli bir IP adresinin (örneğin bir SSH sunucusunun) ilgili porttan yanıt verip vermediğini denetlemek için:
Test-NetConnection -ComputerName 192.168.1.50 -Port 22
Sistemdeki Dinlemede Olan Portları Listelemek:
Makine üzerindeki ağ etkinliklerini ve açık portları (Red Team/Blue Team analizlerinde faydalıdır) listelemek için:
Get-NetTCPConnection | Where-Object State -eq 'Listen'
Yerel Kullanıcı Hesaplarını Görüntülemek:
Get-LocalUser
Bir Hizmeti Sorgulamak ve Otomatik Başlatmak:
Get-Service -Name sshd | Start-Service
5. Betik (Script) Oluşturma ve Yürütme Politikası
Birden fazla PowerShell komutunu ardışık olarak çalıştırıp tam otomasyon sağlamak için .ps1 uzantılı betik (script) dosyaları oluşturulur. Ancak Windows, güvenlik amacıyla (zararlı yazılımların otomatik çalışmasını engellemek için) imzasız betiklerin yürütülmesini varsayılan olarak kısıtlar.
Kendi hazırladığınız betikleri bilgisayarınızda çalıştırabilmek için Execution Policy (Yürütme Politikası) ayarını yapılandırmanız gerekir. Yönetici (Administrator) yetkileriyle açılmış bir PowerShell penceresinde şu komut uygulanır:
Set-ExecutionPolicy RemoteSigned
Bu konfigürasyon, yerel olarak kendi yazdığınız betiklerin sorunsuz çalışmasına izin verirken, internet üzerinden indirilen betiklerin güvenilir bir yayıncı tarafından dijital olarak imzalanmış olmasını şart koşarak sistem güvenliğini dengede tutar.
Sık Karşılaşılan Sorunlar
| Hata | Olası Neden | Çözüm |
|---|---|---|
| Connection refused | sshd çalışmıyor | Start-Service sshd |
| Connection timed out | Güvenlik duvarı veya ağ erişimi | TCP 22 kuralını kontrol edin |
| Permission denied | Yanlış kullanıcı, parola veya anahtar | Kimlik bilgilerini ve authorized_keys dosyasını doğrulayın |
| Host key verification failed | Sunucunun anahtar izi değişmiş | ~/.ssh/known_hosts kaydını güncelleyin |
| Connection reset | Ağ cihazı veya güvenlik yazılımı bağlantıyı kesiyor | Ağ politikalarını ve antivirüs/EDR ayarlarını inceleyin |
Sonuç
Windows'taki yerleşik OpenSSH Server sayesinde Pardus üzerinden güvenli ve güçlü bir uzaktan yönetim altyapısı kurmak mümkündür. Anahtar tabanlı kimlik doğrulama, güvenlik duvarı kısıtlamaları ve düzenli log takibi ile SSH; RDP'ye tamamlayıcı, hafif ve otomasyona uygun bir yönetim yöntemi sunar.
Bu yaklaşım özellikle okul laboratuvarları, kurumsal ağlar ve sistem yönetimi ortamlarında hem bakım işlemlerini kolaylaştırır hem de güvenli uzaktan erişim sağlar.
Pardus (veya herhangi bir Linux dağıtımı) üzerinden bir Windows makinesine SSH (Secure Shell) ile bağlanmak, eskiden üçüncü parti yazılımlar gerektirirken artık Windows'un yerleşik özellikleri sayesinde oldukça kolaydır.
Bu işlem iki ana aşamadan oluşur: Önce Windows makinenizi (sunucu) bağlantıları kabul edecek şekilde yapılandırmalı, ardından Pardus üzerinden (istemci) bağlantıyı gerçekleştirmelisiniz.
İşte adım adım, eksiksiz yapılandırma rehberi.
1. Aşama: Windows Makinesini Hazırlama
Windows 10 ve Windows 11, yerleşik bir OpenSSH Sunucusu ile gelir ancak güvenlik nedeniyle bu özellik varsayılan olarak kapalıdır. Öncelikle bunu aktif etmemiz ve başlatmamız gerekiyor.
1.OpenSSH Sunucusunu Kurun:Ayarlar menüsü üzerinden.
Windows'ta Ayarlar'ı açın.
Uygulamalar > İsteğe Bağlı Özellikler (veya Windows 11'de Sistem > İsteğe Bağlı Özellikler) menüsüne gidin.
Özellik ekle (veya Özellikleri görüntüle) butonuna tıklayın.
Listede OpenSSH Sunucusu (OpenSSH Server) seçeneğini bulun, seçin ve Yükle'ye tıklayın.
2.SSH Servisini Başlatın:Yönetici yetkisi gerektirir.
Kurulum bittikten sonra hizmetin çalışır durumda olduğundan emin olmalıyız.
Başlat menüsüne PowerShell yazın.
Sağ tıklayıp Yönetici olarak çalıştır'ı seçin.
Servisi başlatmak için şu komutu girin ve Enter'a basın:
Start-Service sshd
Bilgisayar her açıldığında SSH'ın otomatik başlaması için şu komutu girin:
Set-Service -Name sshd -StartupType 'Automatic'
3.Güvenlik Duvarını Kontrol Edin (İsteğe Bağlı):Bağlantı sorunu yaşarsanız.
OpenSSH kurulduğunda Windows Güvenlik Duvarı genellikle 22 numaralı portu otomatik olarak açar. Emin olmak için PowerShell'de şu komutu çalıştırabilirsiniz:
Get-NetFirewallRule -Name *ssh*
Eğer kural yoksa, şu komutla manuel olarak ekleyebilirsiniz:
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
4.Windows'un IP Adresini Öğrenin:
Pardus'tan nereye bağlanacağınızı bilmeniz gerekir.
Aynı PowerShell penceresinde ipconfig yazın ve Enter'a basın.
IPv4 Adresi satırının karşısındaki numarayı (örn: 192.168.1.55) not alın. Ayrıca Windows'a giriş yaparken kullandığınız kullanıcı adınızı da tam olarak bilmeniz gerekir.
2. Aşama: Pardus'tan Windows'a Bağlanma
Windows tarafı artık bağlantıları dinliyor. Şimdi Pardus tarafına geçip terminal (uçbirim) üzerinden bağlantımızı kurabiliriz. Pardus'ta SSH istemcisi varsayılan olarak yüklü gelir.
1.Uçbirimi Açın:
Pardus menüsünden Uçbirim (Terminal) uygulamasını başlatın veya klavyenizden Ctrl + Alt + T kısayolunu kullanın.
2.SSH Komutunu Girin:
Bağlantı komutunun temel yapısı ssh kullanici_adi@ip_adresi şeklindedir.
Not aldığınız Windows kullanıcı adınızı ve IP adresinizi kullanarak komutu yazın:
ssh ahmet@192.168.1.55
(Eğer Windows kullanıcınızın adında boşluk varsa, adın tamamını tırnak içine almanız gerekebilir: ssh "ahmet yilmaz"@192.168.1.55)
3.Parmak İzini Onaylayın:Sadece ilk bağlantıda sorulur.
Windows makinesine ilk defa bağlandığınız için Pardus size bu cihazın güvenilir olup olmadığını soracaktır:
Are you sure you want to continue connecting (yes/no/[fingerprint])?
Buraya yes yazıp Enter'a basın.
4.Windows Parolanızı Girin:
Terminal sizden kullanıcının parolasını isteyecektir.
Önemli: Parolanızı yazarken ekranda hiçbir karakter (yıldız veya nokta) görünmez. Bu Linux'un standart bir güvenlik önlemidir. Parolanızı yazın ve Enter'a basın.
(Eğer Windows'ta Microsoft hesabı kullanıyorsanız, Microsoft hesabınızın parolasını girmeniz gerekebilir).
Terminal ekranında C:\Users\KullaniciAdiniz> şeklinde bir ibare (Command Prompt satırı) görüyorsanız, Windows makinenizin komut satırına başarıyla bağlandınız demektir. Artık DOS veya PowerShell komutlarını Pardus üzerinden çalıştırabilirsiniz. Bağlantıyı sonlandırmak için exit yazıp Enter'a basmanız yeterlidir.
SSH anahtar (key) tabanlı kimlik doğrulama, parolaya kıyasla hem çok daha güvenlidir hem de otomasyon süreçlerinde (betik veya uygulama üzerinden komut gönderirken) hayat kurtarır.
Bu işlem, Pardus (istemci) üzerinde şifrelenmiş bir anahtar çifti (gizli ve açık anahtar) oluşturup, açık anahtarı Windows makinesine (sunucu) güvenilir bir cihaz olduğunuzu kanıtlamak üzere kaydetme prensibine dayanır.
Aşağıdaki adımları sırayla uygulayarak parola girişini tamamen ortadan kaldırabilirsiniz.
SSH Anahtarı Kurulum Adımları
1.Pardus'ta SSH Anahtarı Üretin:Modern ve güvenli algoritma.
Pardus'ta uçbirimi (terminal) açın ve şu komutu girin:
ssh-keygen -t ed25519 -C "pardus_baglantisi"
Sistem size anahtarın kaydedileceği yeri soracaktır (varsayılan: ~/.ssh/id_ed25519). Doğrudan Enter'a basarak geçin.
Bir parola (passphrase) sorulduğunda, tamamen şifresiz ve otomatik giriş yapmak istediğimiz için burayı da boş bırakıp Enter'a basarak geçin.
2.Açık Anahtarı Görüntüleyin ve Kopyalayın:
Üretilen açık anahtarı ekrana yazdırmak için şu komutu kullanın:
cat ~/.ssh/id_ed25519.pub
Ekranda ssh-ed25519 AAA... pardus_baglantisi şeklinde başlayan bir metin çıkacaktır. Bu metnin tamamını (farenizle seçip sağ tıklayarak) kopyalayın.
3.Windows'ta Güvenli Klasörü Oluşturun:Hedef makineyi hazırlama.
Windows makinenize bir kez daha eski yöntemle (parola ile) SSH üzerinden bağlanın:
ssh kullanici_adi@192.168.1.55
Bağlandıktan sonra PowerShell komutlarını kullanabilmek için powershell yazıp Enter'a basın. Ardından gerekli gizli klasörü oluşturmak için şu komutu çalıştırın:
New-Item -ItemType Directory -Force -Path $env:USERPROFILE\.ssh
4.Açık Anahtarı Windows'a Kaydedin:
Kopyaladığınız açık anahtarı Windows'taki yetkilendirilmiş anahtarlar dosyasına yazmamız gerekiyor. PowerShell ekranında şu komutu (tırnak işaretlerine dikkat ederek) yazın ve Enter'a basın:
Add-Content -Force -Path $env:USERPROFILE\.ssh\authorized_keys -Value "KOPYALADIGINIZ_ANAHTAR_METNINI_BURAYA_YAPISTIRIN"
Bağlantıyı sonlandırmak için iki kez exit yazıp Enter'a basın (önce PowerShell'den, sonra SSH'tan çıkmak için).
⚠️ Yönetici (Administrator) Hesapları İçin Kritik Uyarı
Eğer bağlandığınız Windows kullanıcısı bir Yönetici (Administrator) ise, yukarıdaki işlemi eksiksiz yapsanız bile parola sormaya devam edecektir. Bunun sebebi, Windows OpenSSH Sunucusunun varsayılan güvenlik politikası gereği yöneticiler için standart authorized_keys dosyasını görmezden gelmesidir.
Eğer hesabınız yönetici ise, bu kuralı devre dışı bırakmalısınız:
Windows makinesinde (veya yönetici haklarıyla açtığınız mevcut SSH oturumunda) PowerShell üzerinden konfigürasyon dosyasını Not Defteri ile açın:
notepad C:\ProgramData\ssh\sshd_config
Dosyanın en sonuna inin. Şu iki satırı bulun ve başlarına # işareti koyarak (veya satırları tamamen silerek) etkisiz hale getirin:
#Match Group administrators
# AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
Dosyayı kaydedip kapatın. Servisi yeniden başlatarak ayarları geçerli kılın:
Restart-Service sshd
Artık Pardus uçbiriminizden ssh kullanici_adi@192.168.1.55 komutunu girdiğinizde, sistem arka planda şifreleme anahtarlarını doğrulayacak ve size hiçbir parola sormadan saniyeler içinde Windows komut satırına geçişinizi sağlayacaktır.
Yorumlar