{"id":38918,"date":"2026-02-10T16:22:22","date_gmt":"2026-02-10T13:22:22","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/ssh-nedir-ve-neden-dijital-dunyada-vazgecilmezdir\/"},"modified":"2026-02-10T16:22:22","modified_gmt":"2026-02-10T13:22:22","slug":"ssh-nedir-ve-neden-dijital-dunyada-vazgecilmezdir","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/ssh-nedir-ve-neden-dijital-dunyada-vazgecilmezdir\/","title":{"rendered":"SSH Nedir ve Neden Dijital D\u00fcnyada Vazge\u00e7ilmezdir?"},"content":{"rendered":"<p><title>SSH Temelleri: Sunucular, \u0130stemciler ve Anahtarlarla \u00c7al\u0131\u015fmak<\/title><\/p>\n<style>\n    .uzman-ipucu {\n        background-color: #f0f8ff;\n        border-left: 5px solid #2196f3;\n        padding: 15px;\n        margin: 20px 0;\n        font-style: italic;\n        color: #333;\n        border-radius: 4px;\n    }\n    table {\n        width: 100%;\n        border-collapse: collapse;\n        margin: 20px 0;\n    }\n    table, th, td {\n        border: 1px solid #ddd;\n    }\n    th, td {\n        padding: 10px;\n        text-align: left;\n    }\n    th {\n        background-color: #f2f2f2;\n    }\n    pre {\n        background-color: #f4f4f4;\n        padding: 15px;\n        border-radius: 5px;\n        overflow-x: auto;\n    }\n    code {\n        font-family: 'Consolas', 'Monaco', monospace;\n        font-size: 0.9em;\n    }\n    \/* Mobil uyumluluk i\u00e7in \u00f6rnek media query *\/\n    @media (max-width: 768px) {\n        body {\n            font-size: 16px;\n        }\n        .uzman-ipucu {\n            margin: 15px 0;\n            padding: 10px;\n        }\n        table, thead, tbody, th, td, tr {\n            display: block;\n        }\n        thead tr {\n            position: absolute;\n            top: -9999px;\n            left: -9999px;\n        }\n        tr { border: 1px solid #ccc; }\n        td {\n            border: none;\n            border-bottom: 1px solid #eee;\n            position: relative;\n            padding-left: 50%;\n            text-align: right;\n        }\n        td:before {\n            position: absolute;\n            top: 6px;\n            left: 6px;\n            width: 45%;\n            padding-right: 10px;\n            white-space: nowrap;\n            text-align: left;\n            font-weight: bold;\n        }\n        td:nth-of-type(1):before { content: \"\u00d6zellik\"; }\n        td:nth-of-type(2):before { content: \"A\u00e7\u0131klama\"; }\n        td:nth-of-type(3):before { content: \"Kullan\u0131m Alan\u0131\"; }\n    }\n<\/style>\n<h2>SSH Nedir ve Neden Dijital D\u00fcnyada Vazge\u00e7ilmezdir?<\/h2>\n<p>G\u00fcn\u00fcm\u00fcz\u00fcn dijital \u00e7a\u011f\u0131nda, uzak sunucularla g\u00fcvenli bir \u015fekilde etkile\u015fim kurmak, geli\u015ftiriciler, sistem y\u00f6neticileri ve hatta bir\u00e7ok son kullan\u0131c\u0131 i\u00e7in temel bir gerekliliktir. Ancak bu ba\u011flant\u0131lar, veri h\u0131rs\u0131zl\u0131\u011f\u0131 ve yetkisiz eri\u015fim gibi ciddi g\u00fcvenlik riskleri ta\u015f\u0131r. \u0130\u015fte tam bu noktada, Secure Shell (SSH) devreye girerek, uzak bilgisayarlarla \u015fifreli ve g\u00fcvenli ileti\u015fim kurman\u0131n anahtar\u0131n\u0131 sunar. Bu makale, SSH&#8217;\u0131n temel prensiplerinden ba\u015flayarak, istemci ve sunucu yap\u0131land\u0131rmalar\u0131na, anahtar y\u00f6netimine ve ileri d\u00fczey kullan\u0131m senaryolar\u0131na kadar her \u015feyi kapsayan kapsaml\u0131 bir rehber niteli\u011findedir.<\/p>\n<p>SSH, asl\u0131nda bir a\u011f protokol\u00fcd\u00fcr ve iki bilgisayar aras\u0131nda g\u00fcvenli bir t\u00fcnel olu\u015fturarak veri al\u0131\u015fveri\u015fini \u015fifreler. Bu sayede, internet \u00fczerinden iletilen t\u00fcm bilgiler, k\u00f6t\u00fc niyetli ki\u015filerin eline ge\u00e7se bile anla\u015f\u0131lamaz hale gelir. Geleneksel telnet veya FTP gibi g\u00fcvensiz protokollere k\u0131yasla, SSH \u00e7ok daha \u00fcst\u00fcn bir g\u00fcvenlik katman\u0131 sa\u011flar. \u00d6zellikle bulut tabanl\u0131 sunucular\u0131n, sanal makinelerin ve konteynerlerin yayg\u0131nla\u015ft\u0131\u011f\u0131 g\u00fcn\u00fcm\u00fczde, SSH bilgisi, herhangi bir teknik profesyonelin olmazsa olmaz yetkinliklerinden biri haline gelmi\u015ftir. Bu rehber boyunca, SSH&#8217;\u0131n sadece bir komut sat\u0131r\u0131 arac\u0131 olmaktan \u00f6te, dijital altyap\u0131m\u0131z\u0131n g\u00fcvenli\u011fini nas\u0131l temelden etkiledi\u011fini ve g\u00fcnl\u00fck i\u015f ak\u0131\u015flar\u0131m\u0131zda bize ne gibi kolayl\u0131klar sa\u011flad\u0131\u011f\u0131n\u0131 ad\u0131m ad\u0131m ke\u015ffedece\u011fiz. Dolay\u0131s\u0131yla, ister yeni ba\u015flayan bir geli\u015ftirici olun ister deneyimli bir sistem y\u00f6neticisi, SSH&#8217;\u0131n sundu\u011fu imkanlar\u0131 tam olarak kavramak, sizi siber tehditlere kar\u015f\u0131 daha diren\u00e7li k\u0131lacak ve i\u015flerinizi daha verimli hale getirecektir.<\/p>\n<p>SSH&#8217;\u0131n temel amac\u0131, uzak bir makinedeki komut sat\u0131r\u0131 aray\u00fcz\u00fcne (CLI) eri\u015fim sa\u011flamakt\u0131r. Ancak yetenekleri bununla s\u0131n\u0131rl\u0131 de\u011fildir. Dosya transferi, port y\u00f6nlendirme ve hatta X11 oturumlar\u0131 gibi bir\u00e7ok farkl\u0131 i\u015flevi de g\u00fcvenli bir \u015fekilde ger\u00e7ekle\u015ftirebilir. Bu \u00e7ok y\u00f6nl\u00fcl\u00fck, onu sistem y\u00f6netimi ve yaz\u0131l\u0131m geli\u015ftirme s\u00fcre\u00e7lerinde vazge\u00e7ilmez bir ara\u00e7 yapar. \u00d6rne\u011fin, bir web sunucusunda bir yap\u0131land\u0131rma dosyas\u0131n\u0131 d\u00fczenlemeniz, bir veritaban\u0131 yamas\u0131n\u0131 uygulaman\u0131z veya bir uygulaman\u0131n loglar\u0131n\u0131 kontrol etmeniz gerekti\u011finde, SSH size g\u00fcvenli bir kap\u0131 aralar. Bu ba\u011flant\u0131 s\u0131ras\u0131nda, kimlik do\u011frulama genellikle kullan\u0131c\u0131 ad\u0131 ve parola ile yap\u0131l\u0131r; ancak daha g\u00fcvenli ve pratik bir y\u00f6ntem olan SSH anahtarlar\u0131 da yayg\u0131n olarak kullan\u0131l\u0131r. Anahtarlar, uzun ve karma\u015f\u0131k parolalar\u0131 hat\u0131rlama zorunlulu\u011funu ortadan kald\u0131r\u0131rken, ayn\u0131 zamanda brute-force sald\u0131r\u0131lar\u0131na kar\u015f\u0131 \u00e7ok daha y\u00fcksek bir diren\u00e7 sunar. Bu nedenle, makalenin ilerleyen b\u00f6l\u00fcmlerinde anahtar tabanl\u0131 kimlik do\u011frulama y\u00f6ntemlerine \u00f6zel bir vurgu yapaca\u011f\u0131z. K\u0131sacas\u0131, SSH, sadece bir ba\u011flant\u0131 arac\u0131 de\u011fil, ayn\u0131 zamanda dijital varl\u0131klar\u0131n\u0131z\u0131 koruyan g\u00fc\u00e7l\u00fc bir kalkand\u0131r.<\/p>\n<h2>SSH Nas\u0131l \u00c7al\u0131\u015f\u0131r ve Temel Bile\u015fenleri Nelerdir?<\/h2>\n<p>SSH&#8217;\u0131n g\u00fcc\u00fcn\u00fc ve esnekli\u011fini tam olarak anlayabilmek i\u00e7in, arka planda nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 ve hangi temel bile\u015fenlerden olu\u015ftu\u011funu kavramak b\u00fcy\u00fck \u00f6nem ta\u015f\u0131r. SSH, client-server (istemci-sunucu) mimarisine dayal\u0131 bir protokold\u00fcr. Bu, bir taraf\u0131n (istemci) ba\u011flant\u0131 ba\u015flatan taraf oldu\u011fu, di\u011fer taraf\u0131n (sunucu) ise ba\u011flant\u0131y\u0131 kabul eden ve hizmet veren taraf oldu\u011fu anlam\u0131na gelir. Her iki taraf da ileti\u015fimi \u015fifrelemek ve kimlik do\u011frulamas\u0131 yapmak i\u00e7in belirli protokol ad\u0131mlar\u0131n\u0131 izler. Bu s\u00fcrecin kalbinde, g\u00fc\u00e7l\u00fc \u015fifreleme algoritmalar\u0131 ve anahtar \u00e7iftleri yatar.<\/p>\n<p>Ba\u011flant\u0131 kuruldu\u011funda, ilk olarak bir el s\u0131k\u0131\u015fma (handshake) s\u00fcreci ba\u015flar. Bu s\u00fcre\u00e7te, istemci ve sunucu, hangi \u015fifreleme algoritmalar\u0131n\u0131 (AES, ChaCha20 gibi), anahtar de\u011fi\u015fim y\u00f6ntemlerini (Diffie-Hellman gibi) ve kimlik do\u011frulama y\u00f6ntemlerini kullanacaklar\u0131 konusunda anla\u015f\u0131rlar. Bu a\u015famada, sunucu kimli\u011fini kan\u0131tlamak i\u00e7in genellikle bir anahtar parmak izi (fingerprint) sunar. \u0130stemci, bu parmak izini daha \u00f6nce kaydetti\u011fi veya ilk kez ba\u011flant\u0131 kuruyorsa onaylad\u0131\u011f\u0131 takdirde, ba\u011flant\u0131 g\u00fcvenli kabul edilir. Parmak izi onay\u0131, &#8220;man-in-the-middle&#8221; (ortadaki adam) sald\u0131r\u0131lar\u0131n\u0131 engellemek i\u00e7in kritik bir ad\u0131md\u0131r. E\u011fer sunucunun parmak izi de\u011fi\u015fmi\u015fse ve bu bir beklenti de\u011filse, bu durum bir g\u00fcvenlik ihlali veya sald\u0131r\u0131 belirtisi olabilir.<\/p>\n<p>SSH&#8217;\u0131n temel bile\u015fenleri \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong>SSH \u0130stemcisi:<\/strong> Bir kullan\u0131c\u0131n\u0131n uzak sunucuya ba\u011flanmak i\u00e7in kulland\u0131\u011f\u0131 yaz\u0131l\u0131md\u0131r. Linux ve macOS sistemlerinde genellikle <code class=\"language-\">ssh<\/code> komutu olarak gelirken, Windows&#8217;ta PuTTY veya Windows Terminal&#8217;deki yerle\u015fik OpenSSH istemcisi kullan\u0131labilir. \u0130stemci, kullan\u0131c\u0131n\u0131n komutlar\u0131n\u0131 \u015fifreleyerek sunucuya g\u00f6nderir ve sunucudan gelen \u015fifreli yan\u0131tlar\u0131 \u00e7\u00f6zer.<\/li>\n<li><strong>SSH Sunucusu (Daemon):<\/strong> Uzak makinede \u00e7al\u0131\u015fan ve gelen SSH ba\u011flant\u0131 isteklerini dinleyen yaz\u0131l\u0131md\u0131r. Genellikle <code class=\"language-\">sshd<\/code> (SSH Daemon) olarak adland\u0131r\u0131l\u0131r. Sunucu, gelen ba\u011flant\u0131 isteklerini do\u011frular, kimlik do\u011frulamas\u0131n\u0131 yapar ve yetkili kullan\u0131c\u0131lara shell eri\u015fimi sa\u011flar. Varsay\u0131lan olarak 22 numaral\u0131 TCP portunu dinler, ancak bu port g\u00fcvenlik amac\u0131yla de\u011fi\u015ftirilebilir.<\/li>\n<li><strong>\u015eifreleme Algoritmalar\u0131:<\/strong> SSH, hem simetrik hem de asimetrik \u015fifreleme algoritmalar\u0131n\u0131 kullan\u0131r. Asimetrik \u015fifreleme (\u00f6rne\u011fin RSA, ECDSA), anahtar de\u011fi\u015fimi ve kimlik do\u011frulamas\u0131 i\u00e7in kullan\u0131l\u0131rken, simetrik \u015fifreleme (\u00f6rne\u011fin AES), ger\u00e7ek veri transferini \u015fifrelemek i\u00e7in kullan\u0131l\u0131r. Simetrik \u015fifreleme, asimetrik \u015fifrelemeye g\u00f6re daha h\u0131zl\u0131 oldu\u011fu i\u00e7in veri transferinde tercih edilir.<\/li>\n<li><strong>Kimlik Do\u011frulama Y\u00f6ntemleri:<\/strong>\n<ul>\n<li><strong>Parola Tabanl\u0131 Kimlik Do\u011frulama:<\/strong> En basit y\u00f6ntemdir. Kullan\u0131c\u0131, sunucuya ba\u011flanmak i\u00e7in kullan\u0131c\u0131 ad\u0131 ve parola girer. Parola, ba\u011flant\u0131 s\u0131ras\u0131nda \u015fifrelenir ancak brute-force sald\u0131r\u0131lar\u0131na kar\u015f\u0131 zay\u0131f kalabilir.<\/li>\n<li><strong>Anahtar Tabanl\u0131 Kimlik Do\u011frulama:<\/strong> En g\u00fcvenli ve \u00f6nerilen y\u00f6ntemdir. Bir \u00e7ift anahtar kullan\u0131l\u0131r: bir <em>\u00f6zel anahtar (private key)<\/em> ve bir <em>genel anahtar (public key)<\/em>. \u00d6zel anahtar istemcide gizli tutulur, genel anahtar ise sunucuya kopyalan\u0131r. Ba\u011flant\u0131 s\u0131ras\u0131nda sunucu, istemcinin \u00f6zel anahtara sahip oldu\u011funu kriptografik olarak do\u011frular.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Bu bile\u015fenler bir araya gelerek, uzak sistemlere eri\u015fimde hem y\u00fcksek g\u00fcvenlik hem de esneklik sa\u011flayan sa\u011flam bir yap\u0131 olu\u015fturur. \u00d6zellikle anahtar tabanl\u0131 kimlik do\u011frulama, SSH&#8217;\u0131n en g\u00fc\u00e7l\u00fc \u00f6zelliklerinden biridir ve modern sistem y\u00f6netiminde standart bir uygulama haline gelmi\u015ftir. Bu sayede, uzun ve karma\u015f\u0131k parolalar\u0131 hat\u0131rlama derdinden kurtulurken, ayn\u0131 zamanda \u00e7ok daha g\u00fc\u00e7l\u00fc bir g\u00fcvenlik katman\u0131 sa\u011flam\u0131\u015f olursunuz. SSH&#8217;\u0131n bu derinlemesine \u00e7al\u0131\u015fma prensiplerini anlamak, onu daha etkin ve g\u00fcvenli bir \u015fekilde kullanman\u0131z\u0131 sa\u011flayacakt\u0131r.<\/p>\n<h2>SSH \u0130stemcisi ile Uzak Sunucuya Nas\u0131l Ba\u011flan\u0131l\u0131r?<\/h2>\n<p>Uzak bir sunucuya SSH ile ba\u011flanmak, sistem y\u00f6netimi ve geli\u015ftirme s\u00fcre\u00e7lerinin temel ad\u0131mlar\u0131ndan biridir. Bu b\u00f6l\u00fcmde, SSH istemcisini kullanarak uzak bir makineye nas\u0131l ba\u011flanaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011frenecek ve temel ba\u011flant\u0131 senaryolar\u0131n\u0131 inceleyece\u011fiz. \u00c7o\u011fu Linux ve macOS da\u011f\u0131t\u0131m\u0131nda SSH istemcisi varsay\u0131lan olarak y\u00fckl\u00fc gelirken, Windows 10 ve \u00fczeri s\u00fcr\u00fcmlerde de OpenSSH istemcisi Windows Terminal \u00fczerinden kolayca kullan\u0131labilir.<\/p>\n<p>Temel SSH ba\u011flant\u0131 komutu olduk\u00e7a basittir:<\/p>\n<pre><code>ssh [kullan\u0131c\u0131_ad\u0131]@[sunucu_ip_adresi_veya_hostname]<\/code><\/pre>\n<p>\u00d6rne\u011fin, IP adresi <code>192.168.1.100<\/code> olan bir sunucuya <code>ubuntu<\/code> kullan\u0131c\u0131s\u0131 ile ba\u011flanmak istiyorsan\u0131z, a\u015fa\u011f\u0131daki komutu kullan\u0131rs\u0131n\u0131z:<\/p>\n<pre><code>ssh ubuntu@192.168.1.100<\/code><\/pre>\n<p>Bu komutu ilk kez \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, SSH istemcisi size uzak sunucunun anahtar parmak izini (fingerprint) g\u00f6sterecek ve bu sunucunun kimli\u011fini do\u011frulamak isteyip istemedi\u011finizi soracakt\u0131r. Bu, &#8220;Are you sure you want to continue connecting (yes\/no\/[fingerprint])?&#8221; \u015feklinde bir soruyla kar\u015f\u0131n\u0131za \u00e7\u0131kar. Bu a\u015fama kritik bir g\u00fcvenlik ad\u0131m\u0131d\u0131r. E\u011fer ba\u011flant\u0131 kurdu\u011funuz sunucunun kimli\u011finden eminseniz (\u00f6rne\u011fin, sunucunun y\u00f6neticisinden veya dok\u00fcmantasyonundan bu parmak izini teyit ettiyseniz), &#8220;yes&#8221; yaz\u0131p Enter tu\u015funa basarak devam edebilirsiniz. Bu i\u015flem, sunucunun parmak izini yerel makinenizdeki <code>~\/.ssh\/known_hosts<\/code> dosyas\u0131na kaydeder. B\u00f6ylece, ayn\u0131 sunucuya bir sonraki ba\u011flant\u0131n\u0131zda bu soru tekrar sorulmaz. Ancak, parmak izi beklenmedik bir \u015fekilde de\u011fi\u015firse, bu durum bir g\u00fcvenlik uyar\u0131s\u0131 olarak kar\u015f\u0131n\u0131za \u00e7\u0131kar ve dikkatlice incelenmesi gerekir.<\/p>\n<p>Parmak izini onaylad\u0131ktan sonra, SSH istemcisi sizden <code>ubuntu<\/code> kullan\u0131c\u0131s\u0131n\u0131n parolas\u0131n\u0131 isteyecektir. Parolay\u0131 girdikten sonra do\u011fruysa, uzak sunucunun komut sat\u0131r\u0131 aray\u00fcz\u00fcne (shell) eri\u015fim sa\u011flam\u0131\u015f olacaks\u0131n\u0131z. Art\u0131k uzak sunucuda komutlar \u00e7al\u0131\u015ft\u0131rabilir, dosyalar\u0131 y\u00f6netebilir ve sistem ayarlar\u0131n\u0131 de\u011fi\u015ftirebilirsiniz.<\/p>\n<div class=\"uzman-ipucu\">\n    Uzman \u0130pucu: E\u011fer uzak sunucu varsay\u0131lan SSH portu (22) d\u0131\u015f\u0131nda bir port kullan\u0131yorsa, ba\u011flant\u0131 komutuna <code>-p<\/code> parametresini eklemeniz gerekir. \u00d6rne\u011fin, sunucu 2222 portunu kullan\u0131yorsa:<\/p>\n<pre><code>ssh -p 2222 ubuntu@192.168.1.100<\/code><\/pre>\n<p>    Bu, farkl\u0131 portlarda \u00e7al\u0131\u015fan SSH servislerine ba\u011flanmak i\u00e7in olduk\u00e7a kullan\u0131\u015fl\u0131d\u0131r ve ayn\u0131 zamanda g\u00fcvenlik i\u00e7in varsay\u0131lan portun de\u011fi\u015ftirilmesi yayg\u0131n bir uygulamad\u0131r.\n<\/p><\/div>\n<p>Baz\u0131 durumlarda, yerel kullan\u0131c\u0131 ad\u0131n\u0131z ile uzak sunucudaki kullan\u0131c\u0131 ad\u0131n\u0131z ayn\u0131 olabilir. Bu durumda, kullan\u0131c\u0131 ad\u0131n\u0131 a\u00e7\u0131k\u00e7a belirtmenize gerek kalmaz:<\/p>\n<pre><code>ssh 192.168.1.100<\/code><\/pre>\n<p>Ancak, her zaman kullan\u0131c\u0131 ad\u0131n\u0131 belirtmek, hangi kullan\u0131c\u0131yla ba\u011flant\u0131 kurdu\u011funuzu netle\u015ftirmek a\u00e7\u0131s\u0131ndan iyi bir uygulamad\u0131r. Ba\u011flant\u0131 kurduktan sonra, uzak sunucuda \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131z t\u00fcm komutlar, o sunucunun kaynaklar\u0131 \u00fczerinde i\u015flem yapar. SSH oturumundan \u00e7\u0131kmak i\u00e7in basit\u00e7e <code>exit<\/code> yaz\u0131p Enter tu\u015funa basman\u0131z yeterlidir. Bu, sizi tekrar yerel makinenizin komut sat\u0131r\u0131na d\u00f6nd\u00fcrecektir.<\/p>\n<p>SSH istemcisinin bir\u00e7ok farkl\u0131 parametresi bulunur ve bunlar ba\u011flant\u0131 davran\u0131\u015f\u0131n\u0131 \u00f6zelle\u015ftirmek i\u00e7in kullan\u0131labilir. \u00d6rne\u011fin, <code>-v<\/code> parametresi ba\u011flant\u0131 s\u00fcrecini daha detayl\u0131 bir \u015fekilde g\u00f6rmenizi sa\u011flar, bu da ba\u011flant\u0131 sorunlar\u0131n\u0131 gidermek i\u00e7in faydal\u0131d\u0131r. <code>-X<\/code> veya <code>-Y<\/code> parametreleri ise X11 y\u00f6nlendirmeyi etkinle\u015ftirerek, uzak sunucudaki grafik aray\u00fczl\u00fc uygulamalar\u0131 yerel makinenizde \u00e7al\u0131\u015ft\u0131rman\u0131za olanak tan\u0131r. Bu temel ad\u0131mlarla, herhangi bir uzak SSH sunucusuna g\u00fcvenli bir \u015fekilde ba\u011flanabilir ve i\u015flerinizi halledebilirsiniz. Ancak, daha da g\u00fcvenli ve pratik bir y\u00f6ntem olan anahtar tabanl\u0131 kimlik do\u011frulama i\u00e7in bir sonraki b\u00f6l\u00fcme ge\u00e7elim.<\/p>\n<h3>SSH Anahtar \u00c7iftleri Nas\u0131l Olu\u015fturulur ve G\u00fcvenle Kullan\u0131l\u0131r?<\/h3>\n<p>Parola tabanl\u0131 kimlik do\u011frulama, \u00f6zellikle zay\u0131f parolalar kullan\u0131ld\u0131\u011f\u0131nda veya brute-force sald\u0131r\u0131lar\u0131na maruz kald\u0131\u011f\u0131nda ciddi g\u00fcvenlik riskleri ta\u015f\u0131r. Bu nedenle, SSH anahtar \u00e7iftleri kullanarak kimlik do\u011frulama yapmak, modern sistem y\u00f6netiminde tercih edilen ve \u00e7ok daha g\u00fcvenli bir y\u00f6ntemdir. SSH anahtarlar\u0131, biri \u00f6zel (private) di\u011feri genel (public) olmak \u00fczere iki anahtardan olu\u015fan kriptografik bir \u00e7ifttir.<\/p>\n<ul>\n<li><strong>\u00d6zel Anahtar (Private Key):<\/strong> Bu anahtar, yaln\u0131zca sizin taraf\u0131n\u0131zda, yani yerel makinenizde tutulur ve kesinlikle kimseyle payla\u015f\u0131lmamal\u0131d\u0131r. Genellikle bir parola (passphrase) ile korunur ve bu parola, anahtar\u0131n \u00e7al\u0131nmas\u0131 durumunda bile yetkisiz eri\u015fimi engeller.<\/li>\n<li><strong>Genel Anahtar (Public Key):<\/strong> Bu anahtar, uzak sunuculara kopyalan\u0131r ve herkesle payla\u015f\u0131labilir. G\u00fcvenli bir ba\u011flant\u0131 kurmak i\u00e7in \u00f6zel anahtar\u0131n\u0131zla e\u015fle\u015fen genel anahtar\u0131n sunucuda bulunmas\u0131 gerekir.<\/li>\n<\/ul>\n<p>SSH anahtar \u00e7ifti olu\u015fturmak i\u00e7in yerel makinenizde (Linux, macOS, Windows&#8217;ta PowerShell veya Git Bash) <code>ssh-keygen<\/code> komutunu kullan\u0131r\u0131z:<\/p>\n<pre><code>ssh-keygen -t rsa -b 4096<\/code><\/pre>\n<p>Bu komut, RSA algoritmas\u0131n\u0131 kullanarak 4096 bit uzunlu\u011funda (g\u00fcvenlik i\u00e7in \u00f6nerilen uzunluk) bir anahtar \u00e7ifti olu\u015fturur. Komutu \u00e7al\u0131\u015ft\u0131rd\u0131ktan sonra, <code>ssh-keygen<\/code> size baz\u0131 sorular soracakt\u0131r:<\/p>\n<ol>\n<li><strong>&#8220;Enter file in which to save the key (\/home\/kullan\u0131c\u0131\/.ssh\/id_rsa):&#8221;<\/strong>\n<p>Bu, \u00f6zel anahtar\u0131n\u0131z\u0131n kaydedilece\u011fi dosya yoludur. Varsay\u0131lan yolu (<code>~\/.ssh\/id_rsa<\/code>) kabul etmek i\u00e7in Enter&#8217;a basabilirsiniz. Farkl\u0131 bir isim vermek, birden fazla anahtar \u00e7ifti y\u00f6netirken i\u015finize yarayabilir.<\/p>\n<\/li>\n<li><strong>&#8220;Enter passphrase (empty for no passphrase):&#8221;<\/strong>\n<p>Burada \u00f6zel anahtar\u0131n\u0131z i\u00e7in bir parola belirlemeniz istenir. <strong>Kesinlikle bir parola belirlemeniz \u00f6nerilir.<\/strong> Bu parola, anahtar\u0131n\u0131z\u0131n \u00e7al\u0131nmas\u0131 durumunda bile yetkisiz eri\u015fimi engeller. Her SSH ba\u011flant\u0131s\u0131nda bu parolay\u0131 girmeniz gerekecektir. E\u011fer bo\u015f b\u0131rak\u0131rsan\u0131z, anahtar\u0131n\u0131z parola korumal\u0131 olmaz.<\/p>\n<\/li>\n<li><strong>&#8220;Enter same passphrase again:&#8221;<\/strong>\n<p>Parolan\u0131z\u0131 tekrar girerek onaylay\u0131n.<\/p>\n<\/li>\n<\/ol>\n<p>Bu ad\u0131mlar\u0131 tamamlad\u0131\u011f\u0131n\u0131zda, <code>~\/.ssh\/<\/code> dizininde iki dosya olu\u015facakt\u0131r:<\/p>\n<ul>\n<li><code>id_rsa<\/code>: \u00d6zel anahtar\u0131n\u0131z.<\/li>\n<li><code>id_rsa.pub<\/code>: Genel anahtar\u0131n\u0131z.<\/li>\n<\/ul>\n<p>Anahtar \u00e7iftini olu\u015fturduktan sonra, genel anahtar\u0131n\u0131z\u0131 uzak sunucuya kopyalaman\u0131z gerekir. Bunun en kolay ve g\u00fcvenli yolu <code>ssh-copy-id<\/code> komutunu kullanmakt\u0131r:<\/p>\n<pre><code>ssh-copy-id kullan\u0131c\u0131_ad\u0131@sunucu_ip_adresi<\/code><\/pre>\n<p>\u00d6rne\u011fin:<\/p>\n<pre><code>ssh-copy-id ubuntu@192.168.1.100<\/code><\/pre>\n<p>Bu komut, uzak sunucuya parola ile ba\u011flan\u0131r (ilk defa yap\u0131yorsan\u0131z parola isteyecektir) ve <code>~\/.ssh\/authorized_keys<\/code> dosyas\u0131na genel anahtar\u0131n\u0131z\u0131 ekler. E\u011fer <code>ssh-copy-id<\/code> komutu sisteminizde y\u00fckl\u00fc de\u011filse, genel anahtar\u0131n\u0131z\u0131 manuel olarak kopyalayabilirsiniz:<\/p>\n<pre><code>cat ~\/.ssh\/id_rsa.pub | ssh kullan\u0131c\u0131_ad\u0131@sunucu_ip_adresi \"mkdir -p ~\/.ssh && chmod 700 ~\/.ssh && cat >> ~\/.ssh\/authorized_keys && chmod 600 ~\/.ssh\/authorized_keys\"<\/code><\/pre>\n<p>Genel anahtar\u0131n\u0131z\u0131 sunucuya kopyalad\u0131ktan sonra, art\u0131k anahtar tabanl\u0131 kimlik do\u011frulama ile ba\u011flanabilirsiniz:<\/p>\n<pre><code>ssh ubuntu@192.168.1.100<\/code><\/pre>\n<p>E\u011fer \u00f6zel anahtar\u0131n\u0131z i\u00e7in bir parola belirlediyseniz, bu ba\u011flant\u0131da sizden sadece bu parolay\u0131 isteyecektir. Sunucuya ba\u011fland\u0131ktan sonra, parola tabanl\u0131 kimlik do\u011frulamay\u0131 devre d\u0131\u015f\u0131 b\u0131rakmak, g\u00fcvenli\u011fi art\u0131rmak i\u00e7in \u00f6nemli bir ad\u0131md\u0131r. Bu, <code>\/etc\/ssh\/sshd_config<\/code> dosyas\u0131nda <code>PasswordAuthentication no<\/code> ayar\u0131n\u0131 yaparak ger\u00e7ekle\u015ftirilir.<\/p>\n<div class=\"uzman-ipucu\">\n    Uzman \u0130pucu: Birden fazla SSH anahtar\u0131n\u0131z varsa veya varsay\u0131lan isimden farkl\u0131 bir isimle anahtar olu\u015fturduysan\u0131z (\u00f6rne\u011fin <code>my_server_key<\/code>), SSH ba\u011flant\u0131s\u0131 kurarken <code>-i<\/code> parametresi ile \u00f6zel anahtar dosyas\u0131n\u0131n yolunu belirtmeniz gerekir:<\/p>\n<pre><code>ssh -i ~\/.ssh\/my_server_key ubuntu@192.168.1.100<\/code><\/pre>\n<p>    Bu, farkl\u0131 sunucular i\u00e7in farkl\u0131 anahtarlar kullanman\u0131z\u0131 sa\u011flar ve anahtar y\u00f6netiminizi daha esnek hale getirir.\n<\/p><\/div>\n<p>SSH anahtarlar\u0131n\u0131n kullan\u0131m\u0131, hem g\u00fcvenlik hem de kullan\u0131m kolayl\u0131\u011f\u0131 a\u00e7\u0131s\u0131ndan \u00f6nemli avantajlar sunar. Parolalar\u0131n aksine, anahtarlar\u0131n k\u0131r\u0131lmas\u0131 \u00e7ok daha zordur ve do\u011fru \u015fekilde y\u00f6netildi\u011finde, sunucular\u0131n\u0131za yetkisiz eri\u015fimi b\u00fcy\u00fck \u00f6l\u00e7\u00fcde engeller. Ayr\u0131ca, SSH agent kullanarak anahtar parolan\u0131z\u0131 bir kez girdikten sonra, oturumunuz boyunca tekrar girmek zorunda kalmazs\u0131n\u0131z, bu da i\u015f ak\u0131\u015f\u0131n\u0131z\u0131 h\u0131zland\u0131r\u0131r.<\/p>\n<h2>SSH Konfig\u00fcrasyon Dosyas\u0131 (~\/.ssh\/config) ile Ba\u011flant\u0131lar\u0131 Nas\u0131l Y\u00f6netirsiniz?<\/h2>\n<p>Birden fazla uzak sunucuyla \u00e7al\u0131\u015fan veya s\u0131k s\u0131k SSH ba\u011flant\u0131lar\u0131 kuran herkes i\u00e7in <code>~\/.ssh\/config<\/code> dosyas\u0131, hayat kurtar\u0131c\u0131 bir ara\u00e7t\u0131r. Bu dosya, SSH ba\u011flant\u0131lar\u0131n\u0131z\u0131 \u00f6zelle\u015ftirmenize, karma\u015f\u0131k komutlar\u0131 k\u0131saltman\u0131za ve farkl\u0131 sunucular i\u00e7in \u00f6zel ayarlar\u0131 tek bir yerden y\u00f6netmenize olanak tan\u0131r. K\u0131sacas\u0131, SSH deneyiminizi \u00e7ok daha verimli ve hatas\u0131z hale getirir.<\/p>\n<p><code>~\/.ssh\/config<\/code> dosyas\u0131, yerel makinenizdeki <code>~\/.ssh\/<\/code> dizininde bulunur. E\u011fer bu dosya yoksa, basit\u00e7e bir metin edit\u00f6r\u00fc ile olu\u015fturabilirsiniz. Dosya i\u00e7eri\u011fi, SSH istemcisinin sunuculara nas\u0131l ba\u011flanaca\u011f\u0131n\u0131 belirleyen bir dizi host tan\u0131m\u0131ndan olu\u015fur. Her host tan\u0131m\u0131, <code>Host<\/code> anahtar kelimesiyle ba\u015flar ve ard\u0131ndan o ba\u011flant\u0131ya atamak istedi\u011finiz bir takma ad (alias) gelir. Bu takma ad, daha sonra SSH komutlar\u0131nda uzun IP adresleri veya kullan\u0131c\u0131 adlar\u0131 yerine kullan\u0131labilir.<\/p>\n<p>\u0130\u015fte temel bir <code>~\/.ssh\/config<\/code> dosyas\u0131n\u0131n yap\u0131s\u0131 ve baz\u0131 yayg\u0131n kullan\u0131m \u00f6rnekleri:<\/p>\n<pre><code>Host webserver\n    HostName 192.168.1.100\n    User ubuntu\n    Port 2222\n    IdentityFile ~\/.ssh\/id_rsa_webserver\n    ForwardAgent yes\n\nHost dbserver\n    HostName db.example.com\n    User admin\n    Port 22\n    IdentityFile ~\/.ssh\/id_rsa_dbserver\n    StrictHostKeyChecking no\n\nHost *\n    # T\u00fcm hostlar i\u00e7in ge\u00e7erli olacak varsay\u0131lan ayarlar\n    ServerAliveInterval 60\n    ServerAliveCountMax 3\n<\/code><\/pre>\n<p>Yukar\u0131daki \u00f6rnekte:<\/p>\n<ul>\n<li><strong><code>Host webserver<\/code>:<\/strong> Bu, <code>webserver<\/code> ad\u0131nda bir takma ad tan\u0131mlar. Art\u0131k <code>ssh webserver<\/code> yazarak bu sunucuya ba\u011flanabilirsiniz.<\/li>\n<li><strong><code>HostName 192.168.1.100<\/code>:<\/strong> Uzak sunucunun ger\u00e7ek IP adresi veya tam alan ad\u0131d\u0131r.<\/li>\n<li><strong><code>User ubuntu<\/code>:<\/strong> Bu sunucuya ba\u011flan\u0131rken kullan\u0131lacak kullan\u0131c\u0131 ad\u0131d\u0131r.<\/li>\n<li><strong><code>Port 2222<\/code>:<\/strong> SSH ba\u011flant\u0131s\u0131 i\u00e7in kullan\u0131lacak port numaras\u0131d\u0131r. E\u011fer varsay\u0131lan 22 portu kullan\u0131l\u0131yorsa, bu sat\u0131r\u0131 yazman\u0131za gerek yoktur.<\/li>\n<li><strong><code>IdentityFile ~\/.ssh\/id_rsa_webserver<\/code>:<\/strong> Bu sunucuya ba\u011flan\u0131rken kullan\u0131lacak \u00f6zel anahtar dosyas\u0131n\u0131n yoludur. Bu, farkl\u0131 sunucular i\u00e7in farkl\u0131 anahtarlar kullanman\u0131z\u0131 sa\u011flar.<\/li>\n<li><strong><code>ForwardAgent yes<\/code>:<\/strong> SSH agent forwarding&#8217;i etkinle\u015ftirir. Bu, sunucudan ba\u015fka bir sunucuya ba\u011flan\u0131rken yerel makinenizdeki anahtarlar\u0131 kullanman\u0131za olanak tan\u0131r.<\/li>\n<li><strong><code>StrictHostKeyChecking no<\/code>:<\/strong> (Genellikle \u00f6nerilmez, ancak baz\u0131 \u00f6zel durumlarda kullan\u0131labilir) Sunucunun host anahtar\u0131n\u0131n <code>known_hosts<\/code> dosyas\u0131nda olup olmad\u0131\u011f\u0131n\u0131 kontrol etmez. G\u00fcvenlik riski ta\u015f\u0131d\u0131\u011f\u0131 i\u00e7in dikkatli kullan\u0131lmal\u0131d\u0131r.<\/li>\n<li><strong><code>Host *<\/code>:<\/strong> T\u00fcm hostlar i\u00e7in ge\u00e7erli olacak varsay\u0131lan ayarlar\u0131 tan\u0131mlar. \u00d6rne\u011fin, <code>ServerAliveInterval<\/code> ve <code>ServerAliveCountMax<\/code>, ba\u011flant\u0131n\u0131n belirli bir s\u00fcre hareketsiz kalmas\u0131 durumunda otomatik olarak kopmas\u0131n\u0131 engellemek i\u00e7in kullan\u0131l\u0131r.<\/li>\n<\/ul>\n<p><strong>Vaka Analizi: Geli\u015ftirme Ortamlar\u0131n\u0131n Kolay Y\u00f6netimi<\/strong><\/p>\n<p>Bir yaz\u0131l\u0131m geli\u015ftirme ekibinin birden fazla geli\u015ftirme, test ve \u00fcretim sunucusu oldu\u011funu varsayal\u0131m. Her sunucunun farkl\u0131 IP adresi, farkl\u0131 kullan\u0131c\u0131 ad\u0131 ve hatta farkl\u0131 SSH portlar\u0131 olabilir. Ekip \u00fcyeleri, her seferinde bu uzun komutlar\u0131 hat\u0131rlamak ve yazmak yerine <code>~\/.ssh\/config<\/code> dosyas\u0131n\u0131 kullanarak i\u015flerini basitle\u015ftirebilirler:<\/p>\n<pre><code>Host dev-backend\n    HostName 10.0.0.10\n    User devuser\n    Port 22\n    IdentityFile ~\/.ssh\/dev_backend_key\n\nHost test-frontend\n    HostName test.myproject.com\n    User tester\n    Port 2222\n    IdentityFile ~\/.ssh\/test_frontend_key\n\nHost prod-api\n    HostName api.myproject.com\n    User deployuser\n    Port 22\n    IdentityFile ~\/.ssh\/prod_api_key\n    ForwardAgent yes\n    # Bu sunucuya sadece belirli bir IP aral\u0131\u011f\u0131ndan ba\u011flan\u0131ls\u0131n\n    # ProxyCommand ssh bastion-host nc %h %p\n<\/code><\/pre>\n<p>Bu yap\u0131land\u0131rma sayesinde, ekip \u00fcyeleri sadece a\u015fa\u011f\u0131daki komutlar\u0131 kullanarak ilgili sunuculara ba\u011flanabilirler:<\/p>\n<pre><code>ssh dev-backend\nssh test-frontend\nssh prod-api<\/code><\/pre>\n<p>Bu, hem zaman kazand\u0131r\u0131r hem de yaz\u0131m hatalar\u0131n\u0131 azaltarak ba\u011flant\u0131 s\u00fcre\u00e7lerini standartla\u015ft\u0131r\u0131r. Ayr\u0131ca, anahtar dosyalar\u0131n\u0131n yollar\u0131n\u0131 ve port numaralar\u0131n\u0131 her seferinde hat\u0131rlama zorunlulu\u011funu ortadan kald\u0131r\u0131r. <code>~\/.ssh\/config<\/code> dosyas\u0131n\u0131n izinlerinin do\u011fru ayarland\u0131\u011f\u0131ndan emin olun (genellikle <code>chmod 600 ~\/.ssh\/config<\/code>). Yanl\u0131\u015f izinler, SSH&#8217;\u0131n bu dosyay\u0131 g\u00f6rmezden gelmesine veya g\u00fcvenlik uyar\u0131s\u0131 vermesine neden olabilir. Bu dosya, SSH kullan\u0131m\u0131nda verimlili\u011fi ve g\u00fcvenli\u011fi art\u0131ran g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r.<\/p>\n<div class=\"uzman-ipucu\">\n    Uzman \u0130pucu: SSH agent forwarding (<code>ForwardAgent yes<\/code>), bir sunucuya ba\u011fland\u0131ktan sonra o sunucudan ba\u015fka bir sunucuya ba\u011flan\u0131rken yerel makinenizdeki \u00f6zel anahtarlar\u0131 kullanman\u0131z\u0131 sa\u011flar. Bu, anahtarlar\u0131n\u0131z\u0131 ara sunucuya kopyalamak zorunda kalmadan g\u00fcvenli bir \u015fekilde zincirleme ba\u011flant\u0131lar kurman\u0131za olanak tan\u0131r. Ancak, ara sunucunun g\u00fcvenli oldu\u011fundan emin olun, \u00e7\u00fcnk\u00fc agent forwarding, ara sunucunun anahtarlar\u0131n\u0131za eri\u015fimini sa\u011flar.\n<\/div>\n<h2>SCP ve SFTP ile Dosya Transferi Nas\u0131l Yap\u0131l\u0131r ve SSH&#8217;\u0131n Di\u011fer G\u00fc\u00e7l\u00fc \u00d6zellikleri Nelerdir?<\/h2>\n<p>SSH, sadece uzak bir sunucuya shell eri\u015fimi sa\u011flamakla kalmaz, ayn\u0131 zamanda g\u00fcvenli dosya transferi ve a\u011f t\u00fcnellemeleri gibi bir\u00e7ok ba\u015fka g\u00fc\u00e7l\u00fc \u00f6zelli\u011fe de sahiptir. Bu b\u00f6l\u00fcmde, SCP (Secure Copy Protocol) ve SFTP (SSH File Transfer Protocol) kullanarak dosya transferi yapmay\u0131, ayr\u0131ca SSH&#8217;\u0131n port y\u00f6nlendirme ve SSH Agent gibi ileri d\u00fczey \u00f6zelliklerini ele alaca\u011f\u0131z.<\/p>\n<h3>SCP (Secure Copy Protocol) ile Dosya Transferi<\/h3>\n<p>SCP, SSH protokol\u00fc \u00fczerinden g\u00fcvenli bir \u015fekilde dosya ve dizin kopyalamak i\u00e7in kullan\u0131lan bir komut sat\u0131r\u0131 arac\u0131d\u0131r. S\u00f6zdizimi, Linux&#8217;taki standart <code>cp<\/code> komutuna benzer ancak uzak sunucu bilgilerini de i\u00e7erir. SCP, basit ve h\u0131zl\u0131 dosya transferleri i\u00e7in idealdir.<\/p>\n<p><strong>Yerelden Uzak Sunucuya Dosya Kopyalama:<\/strong><\/p>\n<pre><code>scp \/yerel\/dizin\/dosya.txt kullan\u0131c\u0131@sunucu_ip:\/uzak\/dizin\/<\/code><\/pre>\n<p>\u00d6rne\u011fin, yerel makinenizdeki <code>rapor.pdf<\/code> dosyas\u0131n\u0131 <code>webserver<\/code> takma ad\u0131yla tan\u0131mlad\u0131\u011f\u0131n\u0131z sunucudaki <code>\/var\/www\/html\/<\/code> dizinine kopyalamak i\u00e7in:<\/p>\n<pre><code>scp ~\/Documents\/rapor.pdf webserver:\/var\/www\/html\/<\/code><\/pre>\n<p><strong>Uzak Sunucudan Yerel Makineye Dosya Kopyalama:<\/strong><\/p>\n<pre><code>scp kullan\u0131c\u0131@sunucu_ip:\/uzak\/dizin\/dosya.txt \/yerel\/dizin\/<\/code><\/pre>\n<p>\u00d6rne\u011fin, <code>webserver<\/code> sunucusundaki <code>\/var\/log\/nginx\/access.log<\/code> dosyas\u0131n\u0131 yerel makinenizdeki <code>~\/logs\/<\/code> dizinine kopyalamak i\u00e7in:<\/p>\n<pre><code>scp webserver:\/var\/log\/nginx\/access.log ~\/logs\/<\/code><\/pre>\n<p><strong>Dizinleri Kopyalama (Recursive):<\/strong><\/p>\n<p>Bir dizini t\u00fcm i\u00e7eri\u011fiyle birlikte kopyalamak i\u00e7in <code>-r<\/code> (recursive) parametresini kullan\u0131r\u0131z:<\/p>\n<pre><code>scp -r \/yerel\/dizin\/proje\/ kullan\u0131c\u0131@sunucu_ip:\/uzak\/dizin\/<\/code><\/pre>\n<p>SCP, basit ve h\u0131zl\u0131 transferler i\u00e7in harika olsa da, interaktif bir dosya y\u00f6neticisi aray\u00fcz\u00fc sunmaz ve transfer s\u0131ras\u0131nda kesintiye u\u011frad\u0131\u011f\u0131nda devam etme yetene\u011fi s\u0131n\u0131rl\u0131d\u0131r.<\/p>\n<h3>SFTP (SSH File Transfer Protocol) ile Dosya Transferi<\/h3>\n<p>SFTP, SSH protokol\u00fc \u00fczerinden \u00e7al\u0131\u015fan ve daha zengin \u00f6zelliklere sahip interaktif bir dosya transfer protokol\u00fcd\u00fcr. FTP&#8217;ye benzer bir komut setine sahiptir ancak t\u00fcm ileti\u015fim SSH taraf\u0131ndan \u015fifrelenir. SFTP, dosya y\u00f6netimi (dizin olu\u015fturma, silme, yeniden adland\u0131rma vb.) i\u00e7in daha esnek bir ortam sunar.<\/p>\n<p>SFTP oturumu ba\u015flatmak i\u00e7in:<\/p>\n<pre><code>sftp kullan\u0131c\u0131@sunucu_ip<\/code><\/pre>\n<p>Veya <code>~\/.ssh\/config<\/code> dosyas\u0131ndaki takma ad ile:<\/p>\n<pre><code>sftp webserver<\/code><\/pre>\n<p>Bir SFTP oturumu ba\u015flatt\u0131\u011f\u0131n\u0131zda, tan\u0131d\u0131k FTP komutlar\u0131na benzer komutlar kullanabilirsiniz:<\/p>\n<ul>\n<li><code>ls<\/code>: Uzak dizin i\u00e7eri\u011fini listeler.<\/li>\n<li><code>lls<\/code>: Yerel dizin i\u00e7eri\u011fini listeler.<\/li>\n<li><code>cd \/uzak\/dizin<\/code>: Uzak dizinde gezinir.<\/li>\n<li><code>lcd \/yerel\/dizin<\/code>: Yerel dizinde gezinir.<\/li>\n<li><code>put dosya.txt<\/code>: Yerelden uza\u011fa dosya kopyalar.<\/li>\n<li><code>get dosya.txt<\/code>: Uzaktan yerel&#8217;e dosya kopyalar.<\/li>\n<li><code>mkdir yeni_dizin<\/code>: Uzak sunucuda yeni bir dizin olu\u015fturur.<\/li>\n<li><code>rm dosya.txt<\/code>: Uzak sunucudaki dosyay\u0131 siler.<\/li>\n<li><code>exit<\/code> veya <code>bye<\/code>: SFTP oturumundan \u00e7\u0131kar.<\/li>\n<\/ul>\n<p>SFTP, \u00f6zellikle GUI tabanl\u0131 dosya y\u00f6neticileri (FileZilla, WinSCP gibi) taraf\u0131ndan da yayg\u0131n olarak kullan\u0131l\u0131r ve s\u00fcr\u00fckle-b\u0131rak gibi \u00f6zelliklerle kullan\u0131c\u0131 dostu bir deneyim sunar.<\/p>\n<h3>SSH&#8217;\u0131n Di\u011fer G\u00fc\u00e7l\u00fc \u00d6zellikleri: Port Y\u00f6nlendirme ve SSH Agent<\/h3>\n<p>SSH&#8217;\u0131n yetenekleri dosya transferinden \u00e7ok daha \u00f6teye gider. \u00d6zellikle port y\u00f6nlendirme (port forwarding) ve SSH Agent kullan\u0131m\u0131, SSH&#8217;\u0131 bir g\u00fcvenlik ve verimlilik arac\u0131 olarak daha da g\u00fc\u00e7lendirir.<\/p>\n<p><strong>Port Y\u00f6nlendirme (Port Forwarding):<\/strong><\/p>\n<p>SSH port y\u00f6nlendirme, g\u00fcvenli bir SSH t\u00fcneli \u00fczerinden ba\u015fka bir a\u011f hizmetine (veritaban\u0131, web sunucusu, dahili uygulama vb.) eri\u015fmenizi sa\u011flar. \u00dc\u00e7 ana t\u00fcr\u00fc vard\u0131r:<\/p>\n<ol>\n<li><strong>Yerel Port Y\u00f6nlendirme (Local Port Forwarding):<\/strong> Uzak bir sunucudaki hizmeti, yerel makinenizdeki bir porta y\u00f6nlendirir.\n<pre><code>ssh -L 8080:uzak_host:80 kullan\u0131c\u0131@ssh_sunucu<\/code><\/pre>\n<p>Bu komut, yerel makinenizdeki 8080 portuna gelen ba\u011flant\u0131lar\u0131, <code>ssh_sunucu<\/code> \u00fczerinden <code>uzak_host<\/code>&#8216;un 80 portuna y\u00f6nlendirir. \u00d6rne\u011fin, uzak bir veritaban\u0131na yerel makinenizdeki bir ara\u00e7la ba\u011flanmak i\u00e7in kullan\u0131labilir.<\/p>\n<\/li>\n<li><strong>Uzak Port Y\u00f6nlendirme (Remote Port Forwarding):<\/strong> Yerel bir hizmeti, uzak sunucudaki bir porta y\u00f6nlendirir.\n<pre><code>ssh -R 8080:yerel_host:80 kullan\u0131c\u0131@ssh_sunucu<\/code><\/pre>\n<p>Bu, uzak sunucudaki 8080 portuna gelen ba\u011flant\u0131lar\u0131, <code>ssh_sunucu<\/code> \u00fczerinden <code>yerel_host<\/code>&#8216;un 80 portuna y\u00f6nlendirir. \u00d6rne\u011fin, yerel bir web sunucusunu d\u0131\u015f d\u00fcnyaya a\u00e7mak (ge\u00e7ici olarak ve dikkatlice) i\u00e7in kullan\u0131labilir.<\/p>\n<\/li>\n<li><strong>Dinamik Port Y\u00f6nlendirme (Dynamic Port Forwarding &#8211; SOCKS Proxy):<\/strong> Yerel makinenizde bir SOCKS proxy olu\u015fturur. Bu proxy \u00fczerinden ge\u00e7en t\u00fcm trafik, SSH t\u00fcneli arac\u0131l\u0131\u011f\u0131yla y\u00f6nlendirilir.\n<pre><code>ssh -D 8080 kullan\u0131c\u0131@ssh_sunucu<\/code><\/pre>\n<p>Bu, yerel 8080 portunda bir SOCKS proxy olu\u015fturur. Taray\u0131c\u0131n\u0131z\u0131n veya di\u011fer uygulamalar\u0131n proxy ayarlar\u0131n\u0131 bu porta y\u00f6nlendirerek, t\u00fcm a\u011f trafi\u011finizi SSH t\u00fcneli \u00fczerinden g\u00fcvenli bir \u015fekilde ge\u00e7irebilirsiniz. Bu, sans\u00fcrl\u00fc a\u011flarda veya halka a\u00e7\u0131k Wi-Fi noktalar\u0131nda g\u00fcvenli\u011fi art\u0131rmak i\u00e7in \u00e7ok faydal\u0131d\u0131r.<\/p>\n<\/li>\n<\/ol>\n<div class=\"uzman-ipucu\">\n    Uzman \u0130pucu: Port y\u00f6nlendirme ile bir veritaban\u0131 sunucusuna ba\u011flan\u0131rken, veritaban\u0131 istemcinizin yerel makinenizdeki <code>localhost:PORT<\/code> adresine ba\u011flanmas\u0131n\u0131 sa\u011flayarak g\u00fcvenli bir t\u00fcnel olu\u015fturabilirsiniz. Bu, veritaban\u0131 portunu do\u011frudan internete a\u00e7mak zorunda kalmadan eri\u015fim imkan\u0131 sunar ve g\u00fcvenlik risklerini minimize eder.\n<\/div>\n<p><strong>SSH Agent Kullan\u0131m\u0131:<\/strong><\/p>\n<p>SSH Agent, \u00f6zel anahtarlar\u0131n\u0131z\u0131 bellekte tutan ve her SSH ba\u011flant\u0131s\u0131nda anahtar parolan\u0131z\u0131 tekrar girme ihtiyac\u0131n\u0131 ortadan kald\u0131ran bir programd\u0131r. Anahtar parolan\u0131z\u0131 bir kez SSH Agent&#8217;a eklersiniz, ard\u0131ndan oturumunuz boyunca bu anahtar\u0131 kullanan t\u00fcm SSH ba\u011flant\u0131lar\u0131 i\u00e7in parola sormaz.<\/p>\n<pre><code>eval \"$(ssh-agent -s)\" # SSH Agent'\u0131 ba\u015flat\u0131r\nssh-add ~\/.ssh\/id_rsa # \u00d6zel anahtar\u0131n\u0131z\u0131 Agent'a ekler (parolan\u0131z\u0131 sorar)<\/code><\/pre>\n<p><code>ssh-add<\/code> komutu ile ekledi\u011finiz anahtarlar, SSH Agent \u00e7al\u0131\u015ft\u0131\u011f\u0131 s\u00fcrece bellekte kal\u0131r. Bu, \u00f6zellikle <code>ForwardAgent yes<\/code> ile birlikte kullan\u0131ld\u0131\u011f\u0131nda \u00e7ok kullan\u0131\u015fl\u0131d\u0131r, \u00e7\u00fcnk\u00fc anahtarlar\u0131n\u0131z\u0131 do\u011frudan uzak sunucuya kopyalamadan zincirleme SSH ba\u011flant\u0131lar\u0131 kurabilirsiniz. SSH Agent, hem g\u00fcvenlik hem de kullan\u0131m kolayl\u0131\u011f\u0131 a\u00e7\u0131s\u0131ndan SSH deneyimini b\u00fcy\u00fck \u00f6l\u00e7\u00fcde iyile\u015ftirir.<\/p>\n<h2>SSH Kullan\u0131m\u0131nda G\u00fcvenli\u011fi Art\u0131rmak \u0130\u00e7in Hangi \u0130pu\u00e7lar\u0131n\u0131 Uygulamal\u0131s\u0131n\u0131z?<\/h2>\n<p>SSH&#8217;\u0131n kendisi g\u00fcvenli bir protokol olsa da, yanl\u0131\u015f yap\u0131land\u0131rma veya zay\u0131f uygulamalar nedeniyle g\u00fcvenlik a\u00e7\u0131klar\u0131 olu\u015fabilir. SSH kullan\u0131m\u0131nda g\u00fcvenli\u011fi maksimuma \u00e7\u0131karmak i\u00e7in proaktif ad\u0131mlar atmak, sunucular\u0131n\u0131z\u0131 ve verilerinizi potansiyel tehditlerden korumak i\u00e7in hayati \u00f6neme sahiptir. \u0130\u015fte uygulayabilece\u011finiz baz\u0131 en iyi uygulamalar ve ipu\u00e7lar\u0131:<\/p>\n<h3>1. Parola Yerine SSH Anahtarlar\u0131 Kullan\u0131n ve Anahtarlar\u0131n\u0131z\u0131 Koruyun<\/h3>\n<p>Daha \u00f6nce de belirtti\u011fimiz gibi, parola tabanl\u0131 kimlik do\u011frulama, brute-force sald\u0131r\u0131lar\u0131na kar\u015f\u0131 zay\u0131ft\u0131r. Her zaman SSH anahtarlar\u0131 kullanmay\u0131 tercih edin. Ancak anahtarlar\u0131n kendisi de korunmal\u0131d\u0131r:<\/p>\n<ul>\n<li><strong>\u00d6zel Anahtar\u0131n\u0131z\u0131 Parola ile Koruyun:<\/strong> Anahtar olu\u015ftururken mutlaka bir parola (passphrase) belirleyin. Bu, \u00f6zel anahtar\u0131n\u0131z\u0131n \u00e7al\u0131nmas\u0131 durumunda bile yetkisiz ki\u015filerin eri\u015fimini engeller.<\/li>\n<li><strong>Anahtar Dosyas\u0131 \u0130zinlerini Do\u011fru Ayarlay\u0131n:<\/strong> \u00d6zel anahtar dosyan\u0131z\u0131n (\u00f6rne\u011fin <code>~\/.ssh\/id_rsa<\/code>) izinleri yaln\u0131zca size okunabilir olmal\u0131d\u0131r (<code>chmod 600 ~\/.ssh\/id_rsa<\/code>). Genel anahtar dosyas\u0131 (<code>.pub<\/code>) i\u00e7in ise daha az k\u0131s\u0131tl\u0131 izinler (<code>chmod 644 ~\/.ssh\/id_rsa.pub<\/code>) yeterlidir. Yanl\u0131\u015f izinler, SSH istemcisinin anahtar\u0131 kullanmas\u0131n\u0131 engelleyebilir.<\/li>\n<li><strong>SSH Agent Kullan\u0131n:<\/strong> Parola ile korunan anahtarlar\u0131n\u0131z\u0131 her seferinde girmemek i\u00e7in SSH Agent kullan\u0131n. Bu, anahtar parolan\u0131z\u0131 yaln\u0131zca bir kez girmenizi ve oturumunuz boyunca anahtarlar\u0131n\u0131z\u0131 g\u00fcvenli bir \u015fekilde kullanman\u0131z\u0131 sa\u011flar.<\/li>\n<\/ul>\n<h3>2. SSH Sunucu Yap\u0131land\u0131rmas\u0131n\u0131 G\u00fc\u00e7lendirin (sshd_config)<\/h3>\n<p>Uzak sunucunuzdaki SSH daemon (<code>sshd<\/code>) yap\u0131land\u0131rma dosyas\u0131 (genellikle <code>\/etc\/ssh\/sshd_config<\/code>), g\u00fcvenlik ayarlar\u0131 i\u00e7in kritik bir noktad\u0131r. \u0130\u015fte baz\u0131 \u00f6neriler:<\/p>\n<ul>\n<li><strong>Parola Tabanl\u0131 Kimlik Do\u011frulamay\u0131 Devre D\u0131\u015f\u0131 B\u0131rak\u0131n:<\/strong> Anahtar tabanl\u0131 kimlik do\u011frulamay\u0131 etkinle\u015ftirdikten sonra, parola tabanl\u0131 kimlik do\u011frulamay\u0131 tamamen kapat\u0131n.\n<pre><code>PasswordAuthentication no<\/code><\/pre>\n<\/li>\n<li><strong>Root Kullan\u0131c\u0131 ile Giri\u015fi Engelleme:<\/strong> Do\u011frudan root kullan\u0131c\u0131s\u0131 ile SSH eri\u015fimini engellemek, olas\u0131 sald\u0131r\u0131lar\u0131n etkisini azalt\u0131r. Bunun yerine, normal bir kullan\u0131c\u0131 ile giri\u015f yap\u0131n ve gerekti\u011finde <code>sudo<\/code> kullan\u0131n.\n<pre><code>PermitRootLogin no<\/code><\/pre>\n<\/li>\n<li><strong>Varsay\u0131lan SSH Portunu De\u011fi\u015ftirin:<\/strong> SSH&#8217;\u0131n varsay\u0131lan portu olan 22&#8217;yi de\u011fi\u015ftirmek, otomatik botlar\u0131n ve basit taray\u0131c\u0131lar\u0131n sunucunuza y\u00f6nelik s\u00fcrekli sald\u0131r\u0131lar\u0131n\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde azalt\u0131r. \u00d6rne\u011fin, 2222 veya 22022 gibi y\u00fcksek numaral\u0131 bir port kullan\u0131n.\n<pre><code>Port 2222<\/code><\/pre>\n<p>Bu de\u011fi\u015fikli\u011fi yapt\u0131ktan sonra, g\u00fcvenlik duvar\u0131n\u0131zdan yeni portu a\u00e7may\u0131 ve SSH servisini yeniden ba\u015flatmay\u0131 unutmay\u0131n.<\/p>\n<\/li>\n<li><strong>Sadece Belirli Kullan\u0131c\u0131lar\u0131n SSH Eri\u015fimi Olmas\u0131n\u0131 Sa\u011flay\u0131n:<\/strong> <code>AllowUsers<\/code> veya <code>AllowGroups<\/code> direktiflerini kullanarak, sadece belirli kullan\u0131c\u0131lar\u0131n veya kullan\u0131c\u0131 gruplar\u0131n\u0131n SSH \u00fczerinden ba\u011flanmas\u0131na izin verin.\n<pre><code>AllowUsers alice bob<\/code><\/pre>\n<\/li>\n<li><strong>Kullan\u0131lmayan \u00d6zellikleri Devre D\u0131\u015f\u0131 B\u0131rak\u0131n:<\/strong> \u00d6rne\u011fin, e\u011fer ihtiyac\u0131n\u0131z yoksa X11 y\u00f6nlendirmeyi veya bo\u015f parolalar\u0131 devre d\u0131\u015f\u0131 b\u0131rak\u0131n.\n<pre><code>X11Forwarding no\nPermitEmptyPasswords no<\/code><\/pre>\n<\/li>\n<\/ul>\n<h3>3. G\u00fcvenlik Duvar\u0131 Kullan\u0131n ve Yetkisiz Eri\u015fimleri Engelleyin<\/h3>\n<p>Sunucunuzda bir g\u00fcvenlik duvar\u0131 (\u00f6rne\u011fin UFW, <code class=\"language-\">firewalld<\/code> veya AWS Security Groups) etkinle\u015ftirerek, sadece belirli IP adreslerinden veya a\u011flardan SSH portuna eri\u015fime izin verin. Bu, a\u011f d\u00fczeyinde bir koruma katman\u0131 sa\u011flar.<\/p>\n<pre><code># UFW \u00f6rne\u011fi: Sadece belirli bir IP'den SSH eri\u015fimine izin ver\nsudo ufw allow from 198.51.100.0\/24 to any port 2222<\/code><\/pre>\n<h3>4. Otomatik Sald\u0131r\u0131lar\u0131 Azaltmak \u0130\u00e7in Fail2ban Kullan\u0131n<\/h3>\n<p>Fail2ban gibi ara\u00e7lar, SSH sunucunuzun loglar\u0131n\u0131 izleyerek ba\u015far\u0131s\u0131z giri\u015f denemelerini tespit eder ve belirli bir say\u0131da ba\u015far\u0131s\u0131z denemeden sonra kaynak IP adresini ge\u00e7ici olarak engeller. Bu, brute-force sald\u0131r\u0131lar\u0131na kar\u015f\u0131 etkili bir savunma mekanizmas\u0131d\u0131r.<\/p>\n<h3>5. D\u00fczenli G\u00fcncellemeler ve Yama Y\u00f6netimi<\/h3>\n<p>SSH istemcisi ve sunucusu da dahil olmak \u00fczere i\u015fletim sisteminizi ve t\u00fcm yaz\u0131l\u0131mlar\u0131n\u0131z\u0131 d\u00fczenli olarak g\u00fcncelleyin. G\u00fcvenlik a\u00e7\u0131klar\u0131 genellikle yaz\u0131l\u0131m g\u00fcncellemeleriyle kapat\u0131l\u0131r.<\/p>\n<pre><code># Ubuntu\/Debian \u00f6rne\u011fi\nsudo apt update && sudo apt upgrade -y<\/code><\/pre>\n<h3>6. SSH Anahtar Y\u00f6netimi ve Denetimi<\/h3>\n<p>Sunucular\u0131n\u0131zdaki <code>~\/.ssh\/authorized_keys<\/code> dosyalar\u0131n\u0131 d\u00fczenli olarak kontrol edin. Art\u0131k ihtiyac\u0131 olmayan kullan\u0131c\u0131lar\u0131n anahtarlar\u0131n\u0131 silin. Ayr\u0131ca, <code>~\/.ssh\/config<\/code> dosyan\u0131z\u0131n izinlerinin de do\u011fru ayarland\u0131\u011f\u0131ndan emin olun (<code>chmod 600 ~\/.ssh\/config<\/code>).<\/p>\n<p>Bu g\u00fcvenlik ipu\u00e7lar\u0131n\u0131 uygulayarak, SSH ba\u011flant\u0131lar\u0131n\u0131z\u0131 ve uzak sunucular\u0131n\u0131z\u0131 \u00e7ok daha g\u00fcvenli hale getirebilirsiniz. Unutmay\u0131n, g\u00fcvenlik s\u00fcrekli bir s\u00fcre\u00e7tir ve d\u00fczenli denetim ile g\u00fcncellemeler gerektirir.<\/p>\n<h2>SSH Temellerini Ke\u015ffettik: \u015eimdi S\u0131ra Sizde!<\/h2>\n<p>Bu kapsaml\u0131 rehber boyunca, SSH&#8217;\u0131n ne oldu\u011fundan, nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131na, istemci ve sunucu yap\u0131land\u0131rmas\u0131ndan anahtar y\u00f6netimine ve ileri d\u00fczey kullan\u0131m senaryolar\u0131na kadar bir\u00e7ok \u00f6nemli konuyu ele ald\u0131k. SSH&#8217;\u0131n sadece bir uzak ba\u011flant\u0131 arac\u0131 olmaktan \u00f6te, dijital altyap\u0131m\u0131z\u0131n g\u00fcvenli\u011fini sa\u011flamada vazge\u00e7ilmez bir protokol oldu\u011funu g\u00f6rd\u00fck. Anahtar tabanl\u0131 kimlik do\u011frulaman\u0131n g\u00fcvenli\u011fi nas\u0131l art\u0131rd\u0131\u011f\u0131n\u0131, <code>~\/.ssh\/config<\/code> dosyas\u0131n\u0131n ba\u011flant\u0131 y\u00f6netimini nas\u0131l kolayla\u015ft\u0131rd\u0131\u011f\u0131n\u0131 ve SCP\/SFTP ile dosya transferinin ne kadar pratik oldu\u011funu \u00f6\u011frendik. Ayr\u0131ca, port y\u00f6nlendirme gibi g\u00fc\u00e7l\u00fc \u00f6zelliklerin ve SSH Agent&#8217;\u0131n verimlilik katk\u0131lar\u0131n\u0131 da inceledik.<\/p>\n<p>SSH, modern yaz\u0131l\u0131m geli\u015ftirme, sistem y\u00f6netimi ve bulut bili\u015fim d\u00fcnyas\u0131nda her profesyonelin bilmesi gereken temel bir beceridir. Sundu\u011fu \u015fifreli ileti\u015fim sayesinde, hassas verilerinizi ve sunucular\u0131n\u0131z\u0131 internetin potansiyel tehlikelerinden korur. Bu makaledeki bilgileri kullanarak, kendi SSH deneyiminizi daha g\u00fcvenli, daha verimli ve daha y\u00f6netilebilir hale getirebilirsiniz. Unutmay\u0131n, g\u00fcvenlik bir s\u00fcre\u00e7tir ve \u00f6\u011frendiklerinizi pratikle peki\u015ftirerek kendinizi s\u00fcrekli geli\u015ftirmeniz \u00f6nemlidir. \u015eimdi s\u0131ra sizde: Kendi sunucular\u0131n\u0131zla g\u00fcvenli ba\u011flant\u0131lar kurmaya ba\u015flay\u0131n ve SSH&#8217;\u0131n sundu\u011fu t\u00fcm imkanlar\u0131 ke\u015ffedin!<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<table>\n<thead>\n<tr>\n<th>Soru<\/th>\n<th>Cevap<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>SSH ba\u011flant\u0131m neden &#8220;Permission denied&#8221; hatas\u0131 veriyor?<\/td>\n<td>Bu hata genellikle yanl\u0131\u015f kullan\u0131c\u0131 ad\u0131, yanl\u0131\u015f parola, yanl\u0131\u015f \u00f6zel anahtar dosyas\u0131 veya sunucuda public key&#8217;inizin do\u011fru yap\u0131land\u0131r\u0131lmam\u0131\u015f olmas\u0131 gibi nedenlerden kaynaklan\u0131r. Sunucudaki <code>~\/.ssh\/authorized_keys<\/code> dosyas\u0131n\u0131n izinlerini (600) ve sahipli\u011fini kontrol edin. Ayr\u0131ca <code>ssh -v<\/code> komutuyla detayl\u0131 \u00e7\u0131kt\u0131 alarak sorunu te\u015fhis edebilirsiniz.<\/td>\n<\/tr>\n<tr>\n<td>SSH anahtar\u0131m\u0131 kaybettim veya \u00e7al\u0131nd\u0131, ne yapmal\u0131y\u0131m?<\/td>\n<td>\u00d6zel anahtar\u0131n\u0131z \u00e7al\u0131nd\u0131ysa veya kaybolduysa, derhal ilgili sunuculardaki <code>~\/.ssh\/authorized_keys<\/code> dosyas\u0131ndan bu anahtar\u0131n public key&#8217;ini silmeniz gerekir. Ard\u0131ndan, yeni bir anahtar \u00e7ifti olu\u015fturup t\u00fcm sunuculara yeniden kopyalamal\u0131s\u0131n\u0131z. E\u011fer anahtar\u0131n\u0131z parola ile korunuyorsa, \u00e7al\u0131nm\u0131\u015f olsa bile eri\u015fim daha zordur, ancak yine de tedbir alman\u0131z \u00f6nemlidir.<\/td>\n<\/tr>\n<tr>\n<td>SSH ba\u011flant\u0131lar\u0131m\u0131 nas\u0131l daha h\u0131zl\u0131 hale getirebilirim?<\/td>\n<td>SSH Agent kullanarak anahtar parolas\u0131n\u0131 her seferinde girmeyi \u00f6nleyebilirsiniz. Ayr\u0131ca, <code>~\/.ssh\/config<\/code> dosyas\u0131nda <code>ControlMaster auto<\/code> ve <code>ControlPath<\/code> ayarlar\u0131n\u0131 kullanarak mevcut bir SSH ba\u011flant\u0131s\u0131 \u00fczerinden yeni oturumlar a\u00e7abilirsiniz, bu da ba\u011flant\u0131 kurma s\u00fcresini \u00f6nemli \u00f6l\u00e7\u00fcde k\u0131salt\u0131r. A\u011f gecikmesini azaltmak da ba\u011flant\u0131 h\u0131z\u0131n\u0131 art\u0131rabilir.<\/td>\n<\/tr>\n<tr>\n<td>SSH \u00fczerinden dosya transferi i\u00e7in hangi y\u00f6ntemi tercih etmeliyim: SCP mi SFTP mi?<\/td>\n<td>Basit, tek seferlik dosya veya dizin transferleri i\u00e7in SCP (<code>scp<\/code> komutu) genellikle daha h\u0131zl\u0131 ve pratik bir se\u00e7enektir. Ancak, bir dosya y\u00f6neticisi aray\u00fcz\u00fcne ihtiyac\u0131n\u0131z varsa, dizinler aras\u0131nda gezinmek, dosya silmek, yeniden adland\u0131rmak gibi daha fazla kontrol gerektiren i\u015flemler yapacaksan\u0131z SFTP (<code>sftp<\/code> komutu veya GUI ara\u00e7lar\u0131) daha uygun olacakt\u0131r.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"SSH Temelleri: Sunucular, \u0130stemciler ve Anahtarlarla \u00c7al\u0131\u015fmak SSH Nedir ve Neden Dijital D\u00fcnyada Vazge\u00e7ilmezdir? G\u00fcn\u00fcm\u00fcz\u00fcn dijital \u00e7a\u011f\u0131nda, uzak&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-38918","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>SSH Nedir ve Neden Dijital D\u00fcnyada Vazge\u00e7ilmezdir?<\/title>\n<meta name=\"description\" content=\"G\u00fcn\u00fcm\u00fcz\u00fcn dijital \u00e7a\u011f\u0131nda, uzak sunucularla g\u00fcvenli bir \u015fekilde etkile\u015fim kurmak, geli\u015ftiriciler, sistem y\u00f6neticileri ve hatta bir\u00e7ok son kullan\u0131c\u0131 i\u00e7in temel bir gerekliliktir. Ancak bu ba\u011flant\u0131lar, veri h\u0131rs\u0131zl\u0131\u011f\u0131 ve yetkisiz eri\u015fim gibi ciddi g\u00fcvenlik riskleri ta\u015f\u0131r. \u0130\u015fte tam bu noktada, Secure Shell (SSH) devreye girerek, uzak bilgisayarlarla \u015fifreli ve g\u00fcvenli ileti\u015fim kurman\u0131n anahtar\u0131n\u0131 sunar. Bu makale, SSH&#039;\u0131n temel prensiplerinden ba\u015flayarak, istemci ve sunucu yap\u0131land\u0131rmalar\u0131na, anahtar y\u00f6netimine ve ileri d\u00fczey kullan\u0131m senaryolar\u0131na kadar her \u015feyi kapsayan kapsaml\u0131 bir rehber niteli\u011findedir.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/ssh-nedir-ve-neden-dijital-dunyada-vazgecilmezdir\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SSH Nedir ve Neden Dijital D\u00fcnyada Vazge\u00e7ilmezdir?\" \/>\n<meta property=\"og:description\" content=\"G\u00fcn\u00fcm\u00fcz\u00fcn dijital \u00e7a\u011f\u0131nda, uzak sunucularla g\u00fcvenli bir \u015fekilde etkile\u015fim kurmak, geli\u015ftiriciler, sistem y\u00f6neticileri ve hatta bir\u00e7ok son kullan\u0131c\u0131 i\u00e7in temel bir gerekliliktir. Ancak bu ba\u011flant\u0131lar, veri h\u0131rs\u0131zl\u0131\u011f\u0131 ve yetkisiz eri\u015fim gibi ciddi g\u00fcvenlik riskleri ta\u015f\u0131r. \u0130\u015fte tam bu noktada, Secure Shell (SSH) devreye girerek, uzak bilgisayarlarla \u015fifreli ve g\u00fcvenli ileti\u015fim kurman\u0131n anahtar\u0131n\u0131 sunar. Bu makale, SSH&#039;\u0131n temel prensiplerinden ba\u015flayarak, istemci ve sunucu yap\u0131land\u0131rmalar\u0131na, anahtar y\u00f6netimine ve ileri d\u00fczey kullan\u0131m senaryolar\u0131na kadar her \u015feyi kapsayan kapsaml\u0131 bir rehber niteli\u011findedir.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/ssh-nedir-ve-neden-dijital-dunyada-vazgecilmezdir\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-02-10T13:22:22+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"28 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ssh-nedir-ve-neden-dijital-dunyada-vazgecilmezdir\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ssh-nedir-ve-neden-dijital-dunyada-vazgecilmezdir\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"SSH Nedir ve Neden Dijital D\u00fcnyada Vazge\u00e7ilmezdir?\",\"datePublished\":\"2026-02-10T13:22:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ssh-nedir-ve-neden-dijital-dunyada-vazgecilmezdir\/\"},\"wordCount\":5084,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ssh-nedir-ve-neden-dijital-dunyada-vazgecilmezdir\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ssh-nedir-ve-neden-dijital-dunyada-vazgecilmezdir\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/ssh-nedir-ve-neden-dijital-dunyada-vazgecilmezdir\/\",\"name\":\"SSH Nedir ve Neden Dijital D\u00fcnyada Vazge\u00e7ilmezdir?\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-02-10T13:22:22+00:00\",\"description\":\"G\u00fcn\u00fcm\u00fcz\u00fcn dijital \u00e7a\u011f\u0131nda, uzak sunucularla g\u00fcvenli bir \u015fekilde etkile\u015fim kurmak, geli\u015ftiriciler, sistem y\u00f6neticileri ve hatta bir\u00e7ok son kullan\u0131c\u0131 i\u00e7in temel bir gerekliliktir. Ancak bu ba\u011flant\u0131lar, veri h\u0131rs\u0131zl\u0131\u011f\u0131 ve yetkisiz eri\u015fim gibi ciddi g\u00fcvenlik riskleri ta\u015f\u0131r. \u0130\u015fte tam bu noktada, Secure Shell (SSH) devreye girerek, uzak bilgisayarlarla \u015fifreli ve g\u00fcvenli ileti\u015fim kurman\u0131n anahtar\u0131n\u0131 sunar. Bu makale, SSH'\u0131n temel prensiplerinden ba\u015flayarak, istemci ve sunucu yap\u0131land\u0131rmalar\u0131na, anahtar y\u00f6netimine ve ileri d\u00fczey kullan\u0131m senaryolar\u0131na kadar her \u015feyi kapsayan kapsaml\u0131 bir rehber niteli\u011findedir.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ssh-nedir-ve-neden-dijital-dunyada-vazgecilmezdir\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ssh-nedir-ve-neden-dijital-dunyada-vazgecilmezdir\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ssh-nedir-ve-neden-dijital-dunyada-vazgecilmezdir\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SSH Nedir ve Neden Dijital D\u00fcnyada Vazge\u00e7ilmezdir?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"SSH Nedir ve Neden Dijital D\u00fcnyada Vazge\u00e7ilmezdir?","description":"G\u00fcn\u00fcm\u00fcz\u00fcn dijital \u00e7a\u011f\u0131nda, uzak sunucularla g\u00fcvenli bir \u015fekilde etkile\u015fim kurmak, geli\u015ftiriciler, sistem y\u00f6neticileri ve hatta bir\u00e7ok son kullan\u0131c\u0131 i\u00e7in temel bir gerekliliktir. Ancak bu ba\u011flant\u0131lar, veri h\u0131rs\u0131zl\u0131\u011f\u0131 ve yetkisiz eri\u015fim gibi ciddi g\u00fcvenlik riskleri ta\u015f\u0131r. \u0130\u015fte tam bu noktada, Secure Shell (SSH) devreye girerek, uzak bilgisayarlarla \u015fifreli ve g\u00fcvenli ileti\u015fim kurman\u0131n anahtar\u0131n\u0131 sunar. Bu makale, SSH'\u0131n temel prensiplerinden ba\u015flayarak, istemci ve sunucu yap\u0131land\u0131rmalar\u0131na, anahtar y\u00f6netimine ve ileri d\u00fczey kullan\u0131m senaryolar\u0131na kadar her \u015feyi kapsayan kapsaml\u0131 bir rehber niteli\u011findedir.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/ssh-nedir-ve-neden-dijital-dunyada-vazgecilmezdir\/","og_locale":"tr_TR","og_type":"article","og_title":"SSH Nedir ve Neden Dijital D\u00fcnyada Vazge\u00e7ilmezdir?","og_description":"G\u00fcn\u00fcm\u00fcz\u00fcn dijital \u00e7a\u011f\u0131nda, uzak sunucularla g\u00fcvenli bir \u015fekilde etkile\u015fim kurmak, geli\u015ftiriciler, sistem y\u00f6neticileri ve hatta bir\u00e7ok son kullan\u0131c\u0131 i\u00e7in temel bir gerekliliktir. Ancak bu ba\u011flant\u0131lar, veri h\u0131rs\u0131zl\u0131\u011f\u0131 ve yetkisiz eri\u015fim gibi ciddi g\u00fcvenlik riskleri ta\u015f\u0131r. \u0130\u015fte tam bu noktada, Secure Shell (SSH) devreye girerek, uzak bilgisayarlarla \u015fifreli ve g\u00fcvenli ileti\u015fim kurman\u0131n anahtar\u0131n\u0131 sunar. Bu makale, SSH'\u0131n temel prensiplerinden ba\u015flayarak, istemci ve sunucu yap\u0131land\u0131rmalar\u0131na, anahtar y\u00f6netimine ve ileri d\u00fczey kullan\u0131m senaryolar\u0131na kadar her \u015feyi kapsayan kapsaml\u0131 bir rehber niteli\u011findedir.","og_url":"https:\/\/fatihsoysal.com\/blog\/ssh-nedir-ve-neden-dijital-dunyada-vazgecilmezdir\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-02-10T13:22:22+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"28 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/ssh-nedir-ve-neden-dijital-dunyada-vazgecilmezdir\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/ssh-nedir-ve-neden-dijital-dunyada-vazgecilmezdir\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"SSH Nedir ve Neden Dijital D\u00fcnyada Vazge\u00e7ilmezdir?","datePublished":"2026-02-10T13:22:22+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/ssh-nedir-ve-neden-dijital-dunyada-vazgecilmezdir\/"},"wordCount":5084,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/ssh-nedir-ve-neden-dijital-dunyada-vazgecilmezdir\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/ssh-nedir-ve-neden-dijital-dunyada-vazgecilmezdir\/","url":"https:\/\/fatihsoysal.com\/blog\/ssh-nedir-ve-neden-dijital-dunyada-vazgecilmezdir\/","name":"SSH Nedir ve Neden Dijital D\u00fcnyada Vazge\u00e7ilmezdir?","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-02-10T13:22:22+00:00","description":"G\u00fcn\u00fcm\u00fcz\u00fcn dijital \u00e7a\u011f\u0131nda, uzak sunucularla g\u00fcvenli bir \u015fekilde etkile\u015fim kurmak, geli\u015ftiriciler, sistem y\u00f6neticileri ve hatta bir\u00e7ok son kullan\u0131c\u0131 i\u00e7in temel bir gerekliliktir. Ancak bu ba\u011flant\u0131lar, veri h\u0131rs\u0131zl\u0131\u011f\u0131 ve yetkisiz eri\u015fim gibi ciddi g\u00fcvenlik riskleri ta\u015f\u0131r. \u0130\u015fte tam bu noktada, Secure Shell (SSH) devreye girerek, uzak bilgisayarlarla \u015fifreli ve g\u00fcvenli ileti\u015fim kurman\u0131n anahtar\u0131n\u0131 sunar. Bu makale, SSH'\u0131n temel prensiplerinden ba\u015flayarak, istemci ve sunucu yap\u0131land\u0131rmalar\u0131na, anahtar y\u00f6netimine ve ileri d\u00fczey kullan\u0131m senaryolar\u0131na kadar her \u015feyi kapsayan kapsaml\u0131 bir rehber niteli\u011findedir.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/ssh-nedir-ve-neden-dijital-dunyada-vazgecilmezdir\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/ssh-nedir-ve-neden-dijital-dunyada-vazgecilmezdir\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/ssh-nedir-ve-neden-dijital-dunyada-vazgecilmezdir\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"SSH Nedir ve Neden Dijital D\u00fcnyada Vazge\u00e7ilmezdir?"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38918","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=38918"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38918\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=38918"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=38918"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=38918"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}