Kali Linux'ta SSH sunucusu varsayılan kurulumla gelir ama kapalıdır; açmak için sudo systemctl enable ssh --now komutunu çalıştırırsınız. Bu komut servisi hemen başlatır ve her açılışta otomatik başlamasını sağlar. Yalnızca o oturum için açmak istiyorsanız sudo systemctl start ssh yeterlidir.
Servisin kapalı gelmesi bir hata değil, Kali'nin bilinçli bir politikasıdır. Bu rehber önce bu ağ servisi politikasını, ardından SSH'yi açma, host anahtarları, anahtarla giriş, root girişi, Kali'ye özgü SSH istemci ayarları ve YubiKey hazırlığını resmî belgelere dayanarak anlatıyor. Genel SSH kullanımı için SSH ile sunucuya bağlanma rehberine de bakabilirsiniz.
Kali'nin ağ servisi politikası
Kali bir sızma testi araç seti olduğu için "düşmanca" ağlarda kullanılabilir. Bu yüzden resmî politika, dışarıdan bağlantı kabul eden hiçbir servisi varsayılan olarak etkinleştirmemek ve ağ servislerinin yeniden başlatmadan sonra kendiliğinden açılmasına izin vermemek üzerine kuruludur. Amaç, varsayılan durumdaki saldırı yüzeyini en aza indirmektir.
Belgedeki örnekte TCP 3142 portunda vekil sunucu başlatan apt-cacher-ng paketi kurulurken şu mesajlar görülür:
update-rc.d: We have no instructions for the apt-cacher-ng init script.
update-rc.d: It looks like a network service, we disable it.Yani paket kurulur ama servis açılışta başlatılmaz. Hangi servislerin varsayılan olarak engellendiği /usr/sbin/update-rc.d dosyasının sonundaki listelerde tutulur. Engelli listede (blocklist) apache2, avahi-daemon, bluetooth, cups, dictd ve ssh yer alır; izinli listede ise acpid, alsa-utils, anacron gibi yerel sistem servisleri bulunur. Listeyi görmek için:
tail -95 /usr/sbin/update-rc.d | moreBir servisin açılışta başlamasını istiyorsanız politikayı servis bazında systemctl enable ile geçersiz kılarsınız. Belge, listeyi düzenleyerek de izin verilebileceğini söyler, ancak servis bazında systemctl kullanmak hem daha açık hem de geri alması daha kolay bir yoldur.
SSH sunucusunu açmak, durdurmak ve kontrol etmek

openssh-server paketi Kali'nin varsayılan kurulumunda bulunur. Minimal bir kurulumda yoksa resmî bulut belgesindeki gibi önce kurun:
sudo apt install -y openssh-serverArdından ihtiyacınıza göre şu komutları kullanın:
| Komut | Ne yapar |
|---|---|
| sudo systemctl start ssh | Servisi şimdi başlatır, yeniden başlatmada kapanır |
| sudo systemctl enable ssh --now | Hem şimdi başlatır hem açılışta otomatik başlatır |
| systemctl status ssh | Servisin durumunu gösterir |
| sudo systemctl stop ssh | Servisi durdurur |
| sudo systemctl disable ssh | Açılışta başlatmayı kapatır |
| journalctl -u ssh -e | Servisin günlüğünü gösterir |
| sudo ss -tulpn | Dinleyen portları ve süreçleri listeler |
Servisi açtıktan sonra sudo ss -tulpn çıktısında SSH'nin 22 numaralı portu dinlediğini görmelisiniz. Port numaralarının anlamı için bilinen port numaraları rehberine bakabilirsiniz.
SSH host anahtarları otomatik oluşturulur

SSH sunucusunun çalışması için her makineye özgü host anahtarları gerekir. Bunlar /etc/ssh altında ssh_host_*_key adıyla durur. Anahtarların makineye özgü olması gerektiği için sanal makine ve ARM gibi hazır imajlara gömülemezler. Kali 2022.1'den beri regenerate-ssh-host-keys adlı bir systemd servisi, anahtarlar eksikse onları otomatik üretir. Pratikte bu, hazır imajın ilk açılışında çalışır.
ls -l /etc/ssh/ssh_host_*
sudo systemctl disable regenerate-ssh-host-keys.serviceİkinci komut bu otomatik davranışı istemeyenler içindir. Bir sanal makineyi kopyalayıp çoğaltıyorsanız her kopyanın kendi anahtarına sahip olduğundan emin olun; aynı host anahtarını paylaşan makineler istemci tarafında birbirinden ayırt edilemez.
Bağlanmak ve anahtarla giriş yapmak
Kali makinesine aynı ağdaki başka bir bilgisayardan bağlanmak için, kendi Kali makinenizin IP adresini SUNUCU_IP yerine yazın:
ssh kali@SUNUCU_IPŞifre yerine anahtar kullanmak daha güvenlidir. Bağlanacağınız bilgisayarda bir anahtar çifti üretin, açık anahtarı (.pub uzantılı dosya) Kali'deki kullanıcının ~/.ssh/authorized_keys dosyasına ekleyin ve dosya iznini daraltın. Kali belgelerinde kullanılan komutlar:
ssh-keygen -t rsa -b 4096
chmod 0600 ~/.ssh/authorized_keysAnahtarın nasıl kopyalanacağı, ~/.ssh/config ile kısa adlar tanımlama ve birden fazla anahtarı yönetme konuları SSH bağlantı rehberinde ve SSH config dosyası rehberinde ayrıntılı anlatılıyor. Dosya izinlerinin mantığı için chmod rehberine bakabilirsiniz.
Root ile SSH: Kali'nin root politikasını anlatan belgeye göre /etc/ssh/sshd_config içindeki PermitRootLogin varsayılanı prohibit-password'dür; yani root için şifreyle giriş kapalıdır, yalnızca anahtar kabul edilir. Mevcut değeri görmek ve değişiklikten sonra servisi yeniden başlatmak için:
grep PermitRootLogin /etc/ssh/sshd_config
sudo systemctl restart sshRoot hesabını açmak gerekmedikçe normal kullanıcı ve sudo ile çalışmak önerilir; nedenleri Kali root kullanıcı ve sudo rehberinde.
SSH servisini korumak

Kali'yi bir VPS'te ya da internete açık bir makinede çalıştırıyorsanız SSH'yi açmak yetmez, korumak da gerekir. Temel adımlar şunlardır:
- Güvenlik duvarıyla 22 numaralı portu yalnızca ihtiyaç duyduğunuz adreslere açın: UFW güvenlik duvarı rehberi.
- Tekrarlanan başarısız giriş denemelerini otomatik engelleyin: Fail2ban ile SSH koruma.
- Şifreli girişi kapatıp yalnızca anahtar kabul etmek ve diğer sertleştirme adımları için: VPS güvenlik sertleştirme.
- İşiniz bittiğinde servisi
sudo systemctl stop sshile durdurun. Kali'nin politikası da bu yaklaşıma dayanır: servis yalnızca gerektiğinde açık kalsın.
Kali'yi bulutta çalıştırmak isteyenler için Kali bulut kurulumu rehberi ilgili platform adımlarını içerir.
Kali'ye özgü SSH istemci ayarları
Strong Security ve Wide Compatibility: Kali 2022.1'den beri SSH istemcisi iki modda çalışabilir. Varsayılan olan Strong Security yalnızca güvenli algoritmalara izin verir. Wide Compatibility ise eski SHA1 tabanlı anahtar değişimi ve CBC şifreleri gibi eskimiş yöntemleri açarak eski SSH sunucularıyla konuşabilmeyi sağlar. Ayar kali-tweaks aracının Hardening menüsünden değiştirilir; arka planda /etc/ssh/ssh_config.d/kali-wide-compat.conf dosyası oluşturulur ya da silinir. Aracın diğer menüleri için kali-tweaks rehberine bakın.
ssh1 paketi: OpenSSH bazı çok eski özellikleri tamamen kaldırır; örneğin DSA anahtar desteği 9.8 sürümünde kaldırıldı. openssh-client-ssh1 paketi, SSH v1 protokolünü destekleyen son sürüm olan OpenSSH 7.5'i ssh1, scp1 ve ssh-keygen1 adlarıyla sunar. Kali 2024.4'ten beri varsayılan olarak kurulu gelir; yükselttiğiniz bir sistemde yoksa:
sudo apt update
sudo apt install -y openssh-client-ssh1
ssh1 -VGSS-API: Belgeye göre Kali 2026.3 ile SSH istemcisi GSS-API anahtar değişimi desteğini içermiyor. Bu özelliğe ihtiyacınız varsa openssh-client-gssapi paketini kurabilirsiniz. Bu paket openssh-client paketinin yerini alır; ikisi aynı anda kurulu olamaz:
sudo apt update
sudo apt install -y openssh-client-gssapiYubiKey ile SSH: hazırlık adımları
Kali'nin YubiKey belgesi, anahtarın akıllı kart olarak tanınmasına kadar olan hazırlığı anlatır. Gerekli paketler kurulur, kart algılanır, YubiKey CCID moduna alınır ve GPG ile görüldüğü kontrol edilir:
sudo apt install -y yubikey-personalization scdaemon
pcsc_scan
sudo ykpersonalize -m 86
gpg --card-status
gpg --change-pinBelgeye göre varsayılan PIN 123456, varsayılan yönetici PIN'i 12345678'dir. gpg --change-pin menüsünde 1 numaralı seçenekle PIN'i, 3 numaralı seçenekle yönetici PIN'ini mutlaka değiştirin.
Sık Sorulan Sorular
Kali'de SSH neden varsayılan olarak kapalı?
Kali'nin ağ servisi politikası, dışarıdan bağlantı kabul eden hiçbir servisi varsayılan olarak açmaz ve ağ servislerinin yeniden başlatmadan sonra kendiliğinden başlamasını engeller. ssh bu nedenle update-rc.d engelli listesinde yer alır.
systemctl start ile enable arasındaki fark nedir?
start servisi yalnızca şimdi başlatır; makine yeniden başlayınca servis kapalı gelir. enable açılışta otomatik başlatmayı ayarlar; --now eklenirse aynı anda hemen de başlatır.
Eski bir cihaza SSH ile bağlanamıyorum, algoritma hatası alıyorum.
Cihaz eski algoritmalar kullanıyor olabilir. kali-tweaks içindeki Hardening menüsünden Wide Compatibility modunu açabilirsiniz. DSA anahtarı gibi tamamen kaldırılmış özellikler için ssh1 istemcisini kullanın. İşiniz bitince Strong Security moduna dönmeniz önerilir.
Root ile şifreyle SSH girişi neden çalışmıyor?
PermitRootLogin varsayılanı prohibit-password olduğu için root yalnızca anahtarla girebilir. Bunu değiştirmek yerine normal kullanıcıyla bağlanıp sudo kullanmanız daha güvenlidir.
Marka adları sahiplerine aittir. Bu yazı bağımsız bir teknik rehberdir; adı geçen kuruluşlarla bayilik veya ortaklık ilişkisi bulunduğu anlamına gelmez.
İlgili içerikler: Kali Linux nedir · SSH ile sunucuya bağlanma · SSH config dosyası · Fail2ban SSH koruma · kali-tweaks nedir