{"id":38442,"date":"2026-01-31T11:41:26","date_gmt":"2026-01-31T08:41:26","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=38442"},"modified":"2026-01-31T11:41:26","modified_gmt":"2026-01-31T08:41:26","slug":"giris-ssh-anahtarlari-neden-onemli","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/giris-ssh-anahtarlari-neden-onemli\/","title":{"rendered":"Giri\u015f: SSH Anahtarlar\u0131 Neden \u00d6nemli?"},"content":{"rendered":"<p><body><\/p>\n<h2>Giri\u015f: SSH Anahtarlar\u0131 Neden \u00d6nemli?<\/h2>\n<p>G\u00fcvenli Kabuk Protokol\u00fc (SSH), uzak sunuculara g\u00fcvenli bir \u015fekilde ba\u011flanman\u0131n temel yoludur. Geleneksel olarak, SSH ba\u011flant\u0131lar\u0131 kullan\u0131c\u0131 ad\u0131 ve \u015fifre kombinasyonu ile kimlik do\u011frulamas\u0131 yapar. Ancak \u015fifre tabanl\u0131 kimlik do\u011frulama, zay\u0131f \u015fifreler, kaba kuvvet sald\u0131r\u0131lar\u0131 ve insan hatas\u0131 gibi \u00e7e\u015fitli g\u00fcvenlik riskleri ta\u015f\u0131r. SSH anahtarlar\u0131 ise bu riskleri minimize ederek \u00e7ok daha g\u00fcvenli ve pratik bir alternatif sunar.<\/p>\n<p>SSH anahtarlar\u0131, kriptografik bir anahtar \u00e7ifti kullanarak \u00e7al\u0131\u015f\u0131r: \u00f6zel (private) anahtar ve genel (public) anahtar. \u00d6zel anahtar, yerel bilgisayar\u0131n\u0131zda (istemci) gizli tutulurken, genel anahtar eri\u015fmek istedi\u011finiz uzak sunucuda bulunur. Ba\u011flant\u0131 kuruldu\u011funda, sunucu genel anahtar\u0131 kullanarak istemcinin \u00f6zel anahtara sahip oldu\u011funu kriptografik olarak do\u011frular. Bu y\u00f6ntem, uzun ve karma\u015f\u0131k \u015fifreleri ezberleme veya girme ihtiyac\u0131n\u0131 ortadan kald\u0131r\u0131rken, ayn\u0131 zamanda \u00e7ok daha g\u00fc\u00e7l\u00fc bir g\u00fcvenlik katman\u0131 sa\u011flar.<\/p>\n<p>Bu rehberde, Rocky Linux 8 \u00fczerinde ad\u0131m ad\u0131m SSH anahtar \u00e7ifti olu\u015fturma, genel anahtar\u0131n\u0131z\u0131 sunucuya kopyalama ve anahtarlar\u0131n\u0131z\u0131 kullanarak g\u00fcvenli bir \u015fekilde ba\u011flant\u0131 kurma s\u00fcre\u00e7lerini ele alaca\u011f\u0131z. Ayr\u0131ca, SSH anahtar tabanl\u0131 kimlik do\u011frulamas\u0131n\u0131 daha da g\u00fc\u00e7lendirmek i\u00e7in ek g\u00fcvenlik \u00f6nlemleri ve pratik ipu\u00e7lar\u0131 da sunaca\u011f\u0131z.<\/p>\n<h2>SSH Anahtar \u00c7ifti Olu\u015fturma<\/h2>\n<p>SSH anahtarlar\u0131n\u0131 kullanmaya ba\u015flaman\u0131n ilk ad\u0131m\u0131, yerel Rocky Linux 8 sisteminizde bir anahtar \u00e7ifti olu\u015fturmakt\u0131r. Bu i\u015flem i\u00e7in <code>ssh-keygen<\/code> komutu kullan\u0131l\u0131r. Modern ve g\u00fcvenli bir anahtar t\u00fcr\u00fc olan ED25519&#8217;u kullanman\u0131z\u0131 \u015fiddetle tavsiye ederiz, ancak isterseniz RSA da kullanabilirsiniz.<\/p>\n<h3>Anahtar Olu\u015fturma Komutu<\/h3>\n<p>Terminalinizi a\u00e7\u0131n ve a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">ssh-keygen -t ed25519 -C \"kullanici_adiniz@hostname\"<\/code><\/pre>\n<p>Komuttaki parametrelerin anlamlar\u0131:<\/p>\n<ul>\n<li><code>-t ed25519<\/code>: Olu\u015fturulacak anahtar\u0131n tipini belirtir. ED25519, modern, h\u0131zl\u0131 ve g\u00fcvenli bir asimetrik \u015fifreleme algoritmas\u0131d\u0131r. Alternatif olarak <code>-t rsa -b 4096<\/code> (4096 bit RSA anahtar) kullanabilirsiniz, ancak ED25519 genellikle tercih edilir.<\/li>\n<li><code>-C \"kullanici_adiniz@hostname\"<\/code>: Anahtar\u0131n sonuna bir yorum ekler. Bu, \u00f6zellikle birden fazla anahtar\u0131n\u0131z oldu\u011funda veya anahtar\u0131n\u0131z\u0131 payla\u015ft\u0131\u011f\u0131n\u0131zda hangi anahtar\u0131n kime ait oldu\u011funu anlaman\u0131za yard\u0131mc\u0131 olur. E-posta adresiniz veya a\u00e7\u0131klay\u0131c\u0131 bir metin kullanabilirsiniz.<\/li>\n<\/ul>\n<h3>Anahtar Olu\u015fturma S\u00fcreci ve Parola (Passphrase)<\/h3>\n<p>Komutu \u00e7al\u0131\u015ft\u0131rd\u0131ktan sonra, <code>ssh-keygen<\/code> size birka\u00e7 soru soracakt\u0131r:<\/p>\n<pre><code class=\"language-plaintext\">Generating public\/private ed25519 key pair.\nEnter file in which to save the key (\/home\/kullanici_adiniz\/.ssh\/id_ed25519): \n<\/code><\/pre>\n<p>Varsay\u0131lan dosya konumunu (<code>\/home\/kullanici_adiniz\/.ssh\/id_ed25519<\/code>) kabul etmek i\u00e7in Enter tu\u015funa basman\u0131z yeterlidir. Farkl\u0131 bir isim vermek isterseniz, buraya yeni bir yol ve dosya ad\u0131 girebilirsiniz. Genellikle varsay\u0131lan\u0131 kullanmak en iyisidir.<\/p>\n<pre><code class=\"language-plaintext\">Enter passphrase (empty for no passphrase): \nEnter same passphrase again: \n<\/code><\/pre>\n<p>Bu k\u0131s\u0131m \u00e7ok \u00f6nemlidir. \u00d6zel anahtar\u0131n\u0131z i\u00e7in bir <strong>parola (passphrase)<\/strong> belirlemeniz \u015fiddetle tavsiye edilir. Bu parola, \u00f6zel anahtar\u0131n\u0131z\u0131n \u00e7al\u0131nmas\u0131 durumunda yetkisiz eri\u015fimi engellemek i\u00e7in ek bir g\u00fcvenlik katman\u0131 sa\u011flar. Her SSH ba\u011flant\u0131s\u0131nda bu parolay\u0131 girmeniz gerekecektir. E\u011fer parola belirlemezseniz, anahtar\u0131n\u0131z ele ge\u00e7irildi\u011finde direkt olarak kullan\u0131labilir hale gelir. G\u00fc\u00e7l\u00fc ve benzersiz bir parola se\u00e7meye \u00f6zen g\u00f6sterin.<\/p>\n<p>Parolay\u0131 iki kez girdikten sonra, anahtar \u00e7ifti olu\u015fturulacak ve a\u015fa\u011f\u0131daki gibi bir \u00e7\u0131kt\u0131 g\u00f6receksiniz:<\/p>\n<pre><code class=\"language-plaintext\">Your identification has been saved in \/home\/kullanici_adiniz\/.ssh\/id_ed25519\nYour public key has been saved in \/home\/kullanici_adiniz\/.ssh\/id_ed25519.pub\nThe key's randomart image is:\n+--[ED25519 256]--+\n|      .o.        |\n|     .o.         |\n|    . +          |\n|   o B o         |\n|  . * + S .      |\n|   + B o .       |\n|  o B E          |\n|   . B           |\n|    .            |\n+----[SHA256]-----+\n<\/code><\/pre>\n<p>Bu \u00e7\u0131kt\u0131, \u00f6zel anahtar\u0131n\u0131z\u0131n (<code>id_ed25519<\/code>) ve genel anahtar\u0131n\u0131z\u0131n (<code>id_ed25519.pub<\/code>) ba\u015far\u0131yla olu\u015fturuldu\u011funu g\u00f6sterir. \u00d6zel anahtar\u0131n\u0131z\u0131n izinleri otomatik olarak sadece size okunabilir (<code>-rw-------<\/code>) olacak \u015fekilde ayarlan\u0131r, bu da ba\u015fkalar\u0131n\u0131n onu okumas\u0131n\u0131 engeller. Bu izinleri asla de\u011fi\u015ftirmeyin.<\/p>\n<h2>Genel Anahtar\u0131 Sunucuya Kopyalama<\/h2>\n<p>SSH anahtarlar\u0131yla kimlik do\u011frulamas\u0131 yapabilmek i\u00e7in, olu\u015fturdu\u011funuz genel anahtar\u0131 eri\u015fmek istedi\u011finiz uzak Rocky Linux sunucusuna kopyalaman\u0131z gerekir. Bunun i\u00e7in iki ana y\u00f6ntem bulunmaktad\u0131r:<\/p>\n<h3>Y\u00f6ntem 1: ssh-copy-id Kullan\u0131m\u0131 (\u00d6nerilen)<\/h3>\n<p><code>ssh-copy-id<\/code> arac\u0131, genel anahtar\u0131n\u0131z\u0131 sunucuya kopyalaman\u0131n en kolay ve g\u00fcvenli yoludur. Bu ara\u00e7, sunucuda <code>~\/.ssh<\/code> dizinini olu\u015fturur (e\u011fer yoksa), genel anahtar\u0131n\u0131z\u0131 <code>~\/.ssh\/authorized_keys<\/code> dosyas\u0131na ekler ve gerekli dosya\/dizin izinlerini do\u011fru bir \u015fekilde ayarlar. Bu, manuel olarak izinleri ayarlama hatas\u0131n\u0131 \u00f6nler.<\/p>\n<p>Yerel makinenizden a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">ssh-copy-id -i ~\/.ssh\/id_ed25519.pub kullanici_adi@sunucu_ipadresi_veya_domain<\/code><\/pre>\n<p>Komutun a\u00e7\u0131klamas\u0131:<\/p>\n<ul>\n<li><code>-i ~\/.ssh\/id_ed25519.pub<\/code>: Kopyalanacak genel anahtar dosyas\u0131n\u0131n yolunu belirtir. E\u011fer farkl\u0131 bir isimle anahtar olu\u015fturduysan\u0131z, buray\u0131 g\u00fcncelleyin.<\/li>\n<li><code>kullanici_adi@sunucu_ipadresi_veya_domain<\/code>: Uzak sunucudaki kullan\u0131c\u0131 ad\u0131n\u0131z ve sunucunun IP adresi veya alan ad\u0131d\u0131r.<\/li>\n<\/ul>\n<p>\u0130lk kez ba\u011flan\u0131yorsan\u0131z, sunucunun parmak izini kabul etmeniz istenecektir. Ard\u0131ndan, uzak sunucunun \u015fifresini girmeniz istenecektir (bu, sunucuya ilk kez \u015fifre ile ba\u011flanmak gibidir). \u015eifreyi do\u011fru girdikten sonra, genel anahtar\u0131n\u0131z ba\u015far\u0131yla kopyalanacakt\u0131r:<\/p>\n<pre><code class=\"language-plaintext\">The authenticity of host 'sunucu_ipadresi (sunucu_ipadresi)' can't be established.\nED25519 key fingerprint is SHA256:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.\nAre you sure you want to continue connecting (yes\/no\/[fingerprint])? yes\nWarning: Permanently added 'sunucu_ipadresi' (ED25519) to the list of known hosts.\nkullanici_adi@sunucu_ipadresi's password: \n\nNumber of key(s) added: 1\n\nNow try logging into the machine, with:   \"ssh 'kullanici_adi@sunucu_ipadresi'\"\nand check to make sure that only the key(s) you wanted were added.\n<\/code><\/pre>\n<p>Bu ad\u0131mdan sonra, genel anahtar\u0131n\u0131z sunucuda <code>~\/.ssh\/authorized_keys<\/code> dosyas\u0131na eklenmi\u015f ve do\u011fru izinlerle yap\u0131land\u0131r\u0131lm\u0131\u015ft\u0131r.<\/p>\n<h3>Y\u00f6ntem 2: Manuel Kopyalama<\/h3>\n<p>E\u011fer <code>ssh-copy-id<\/code> arac\u0131 mevcut de\u011filse veya belirli bir port \u00fczerinden ba\u011flanman\u0131z gerekiyorsa (\u00f6rne\u011fin, <code>ssh-copy-id<\/code> varsay\u0131lan olarak port 22&#8217;yi kullan\u0131r), genel anahtar\u0131n\u0131z\u0131 manuel olarak kopyalayabilirsiniz.<\/p>\n<h4>Ad\u0131m 1: Genel Anahtar\u0131n\u0131z\u0131 G\u00f6r\u00fcnt\u00fcleme<\/h4>\n<p>Yerel makinenizden genel anahtar\u0131n\u0131z\u0131n i\u00e7eri\u011fini g\u00f6r\u00fcnt\u00fcleyin:<\/p>\n<pre><code class=\"language-bash\">cat ~\/.ssh\/id_ed25519.pub<\/code><\/pre>\n<p>Bu komut, anahtar\u0131n\u0131z\u0131n tamam\u0131n\u0131 terminale yazd\u0131racakt\u0131r. \u00c7\u0131kt\u0131y\u0131 kopyalay\u0131n.<\/p>\n<h4>Ad\u0131m 2: Sunucuya Ba\u011flanma ve Dizini Olu\u015fturma<\/h4>\n<p>\u015eifre kullanarak uzak sunucuya ba\u011flan\u0131n:<\/p>\n<pre><code class=\"language-bash\">ssh kullanici_adi@sunucu_ipadresi_veya_domain<\/code><\/pre>\n<p>E\u011fer sunucuda <code>~\/.ssh<\/code> dizini yoksa, olu\u015fturun ve do\u011fru izinleri verin:<\/p>\n<pre><code class=\"language-bash\">mkdir -p ~\/.ssh\nchmod 700 ~\/.ssh<\/code><\/pre>\n<h4>Ad\u0131m 3: authorized_keys Dosyas\u0131na Ekleme<\/h4>\n<p>\u015eimdi kopyalad\u0131\u011f\u0131n\u0131z genel anahtar\u0131 <code>~\/.ssh\/authorized_keys<\/code> dosyas\u0131na ekleyin. E\u011fer dosya yoksa olu\u015fturulacak, varsa anahtar sonuna eklenecektir. Bu i\u015flemi yaparken <strong>append (ekleme)<\/strong> operat\u00f6r\u00fc <code>>><\/code> kullanmak \u00f6nemlidir, aksi takdirde mevcut anahtarlar\u0131n \u00fczerine yazabilirsiniz.<\/p>\n<pre><code class=\"language-bash\">echo \"PASTE_YOUR_PUBLIC_KEY_HERE\" >> ~\/.ssh\/authorized_keys<\/code><\/pre>\n<p><code>PASTE_YOUR_PUBLIC_KEY_HERE<\/code> k\u0131sm\u0131na, yerel makinenizden kopyalad\u0131\u011f\u0131n\u0131z genel anahtar i\u00e7eri\u011fini yap\u0131\u015ft\u0131r\u0131n.<\/p>\n<p>Son olarak, <code>authorized_keys<\/code> dosyas\u0131n\u0131n izinlerini ayarlay\u0131n:<\/p>\n<pre><code class=\"language-bash\">chmod 600 ~\/.ssh\/authorized_keys<\/code><\/pre>\n<p>Bu izinler, dosyan\u0131n yaln\u0131zca sahibi taraf\u0131ndan okunabilir ve yaz\u0131labilir olmas\u0131n\u0131 sa\u011flar. Yanl\u0131\u015f izinler SSH ba\u011flant\u0131 hatalar\u0131na neden olabilir.<\/p>\n<h2>SSH Anahtarlar\u0131yla Ba\u011flant\u0131 Kurma ve Kimlik Do\u011frulama<\/h2>\n<p>Genel anahtar\u0131n\u0131z\u0131 sunucuya kopyalad\u0131ktan sonra, SSH anahtarlar\u0131n\u0131z\u0131 kullanarak sunucuya parola girmeden g\u00fcvenli bir \u015fekilde ba\u011flanabilirsiniz.<\/p>\n<h3>Basit Ba\u011flant\u0131<\/h3>\n<p>Yerel makinenizden a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">ssh kullanici_adi@sunucu_ipadresi_veya_domain<\/code><\/pre>\n<p>E\u011fer anahtar\u0131n\u0131z\u0131 olu\u015ftururken bir parola belirlemi\u015fseniz, bu noktada parola istenecektir. Parolan\u0131z\u0131 girdikten sonra sunucuya ba\u015far\u0131yla ba\u011flanacaks\u0131n\u0131z. E\u011fer parola belirlemediyseniz, do\u011frudan sunucuya giri\u015f yapmal\u0131s\u0131n\u0131z.<\/p>\n<h3>SSH Agent Kullan\u0131m\u0131 (Parolal\u0131 Anahtarlar \u0130\u00e7in)<\/h3>\n<p>E\u011fer \u00f6zel anahtar\u0131n\u0131za bir parola belirlediyseniz, her ba\u011flant\u0131da bu parolay\u0131 tekrar tekrar girmek zaman al\u0131c\u0131 olabilir. <code>ssh-agent<\/code>, SSH anahtarlar\u0131n\u0131z\u0131n parolalar\u0131n\u0131 bellekte tutarak bu s\u00fcreci kolayla\u015ft\u0131r\u0131r. Bir kez parola girdikten sonra, agent \u00e7al\u0131\u015fmaya devam etti\u011fi s\u00fcrece tekrar parola girmenize gerek kalmaz.<\/p>\n<p><strong>Ad\u0131m 1: ssh-agent&#8217;\u0131 Ba\u015flatma<\/strong><\/p>\n<p>\u00c7o\u011fu masa\u00fcst\u00fc ortam\u0131nda <code>ssh-agent<\/code> otomatik olarak ba\u015flar. E\u011fer ba\u015flamad\u0131ysa veya terminal oturumunuzda kullanmak istiyorsan\u0131z:<\/p>\n<pre><code class=\"language-bash\">eval \"$(ssh-agent -s)\"<\/code><\/pre>\n<p>Bu komut, <code>ssh-agent<\/code>&#8216;\u0131 ba\u015flat\u0131r ve gerekli ortam de\u011fi\u015fkenlerini ayarlar.<\/p>\n<p><strong>Ad\u0131m 2: Anahtar\u0131n\u0131z\u0131 Agent&#8217;a Ekleme<\/strong><\/p>\n<p>\u00d6zel anahtar\u0131n\u0131z\u0131 <code>ssh-agent<\/code>&#8216;a eklemek i\u00e7in <code>ssh-add<\/code> komutunu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">ssh-add ~\/.ssh\/id_ed25519<\/code><\/pre>\n<p>E\u011fer anahtar\u0131n\u0131za bir parola belirlediyseniz, bu noktada parolan\u0131z\u0131 girmeniz istenecektir. Parolay\u0131 girdikten sonra anahtar\u0131n\u0131z agent&#8217;a eklenir ve bir sonraki SSH ba\u011flant\u0131n\u0131zda parola sormaz.<\/p>\n<p>Agent&#8217;a eklenmi\u015f anahtarlar\u0131 g\u00f6rmek i\u00e7in <code>ssh-add -l<\/code> komutunu kullanabilirsiniz.<\/p>\n<h3>SSH Yap\u0131land\u0131rma Dosyas\u0131 (~\/.ssh\/config)<\/h3>\n<p>Birden fazla sunucuya ba\u011flan\u0131yorsan\u0131z veya \u00f6zel ayarlar\u0131n\u0131z varsa, <code>~\/.ssh\/config<\/code> dosyas\u0131 i\u015finizi b\u00fcy\u00fck \u00f6l\u00e7\u00fcde kolayla\u015ft\u0131r\u0131r. Bu dosya, her sunucu i\u00e7in takma adlar, \u00f6zel anahtar yollar\u0131, farkl\u0131 portlar ve kullan\u0131c\u0131 adlar\u0131 gibi ayarlar\u0131 tan\u0131mlaman\u0131za olanak tan\u0131r.<\/p>\n<p>\u00d6rnek bir <code>~\/.ssh\/config<\/code> dosyas\u0131:<\/p>\n<pre><code class=\"language-plaintext\">Host sunucu1\n    HostName sunucu_ipadresi_veya_domain_1\n    User kullanici_adi_1\n    Port 22\n    IdentityFile ~\/.ssh\/id_ed25519\n\nHost testserver\n    HostName 192.168.1.100\n    User devuser\n    Port 2222\n    IdentityFile ~\/.ssh\/test_key\n    ForwardAgent yes\n<\/code><\/pre>\n<p>Bu yap\u0131land\u0131rma ile, sunucuya ba\u011flanmak i\u00e7in sadece <code>ssh sunucu1<\/code> veya <code>ssh testserver<\/code> yazman\u0131z yeterli olacakt\u0131r. <code>IdentityFile<\/code> ile \u00f6zel anahtar\u0131n\u0131z\u0131n yolunu belirtebilir, <code>Port<\/code> ile varsay\u0131lan 22 d\u0131\u015f\u0131ndaki portlar\u0131 kullanabilir ve <code>ForwardAgent yes<\/code> ile SSH agent&#8217;\u0131 uzak sunucuya iletebilirsiniz (bastion host senaryolar\u0131 i\u00e7in kullan\u0131\u015fl\u0131d\u0131r).<\/p>\n<h2>Ek G\u00fcvenlik \u00d6nlemleri ve \u0130pu\u00e7lar\u0131<\/h2>\n<p>SSH anahtarlar\u0131 g\u00fcvenlik seviyesini art\u0131rsa da, baz\u0131 ek \u00f6nlemlerle sunucunuzu ve ba\u011flant\u0131lar\u0131n\u0131z\u0131 daha da g\u00fcvende tutabilirsiniz:<\/p>\n<h3>1. Sunucuda \u015eifre Tabanl\u0131 Kimlik Do\u011frulamay\u0131 Devre D\u0131\u015f\u0131 B\u0131rakma<\/h3>\n<p>Genel anahtar\u0131n\u0131z\u0131 sunucuya ba\u015far\u0131yla kopyalay\u0131p anahtarla ba\u011flanabildi\u011finizden emin olduktan sonra, sunucunuzdaki \u015fifre tabanl\u0131 kimlik do\u011frulamas\u0131n\u0131 devre d\u0131\u015f\u0131 b\u0131rakman\u0131z \u015fiddetle tavsiye edilir. Bu, sunucunuzu kaba kuvvet sald\u0131r\u0131lar\u0131na kar\u015f\u0131 korur.<\/p>\n<p>Uzak sunucuda <code>\/etc\/ssh\/sshd_config<\/code> dosyas\u0131n\u0131 bir metin d\u00fczenleyici ile a\u00e7\u0131n (\u00f6rne\u011fin, <code>sudo nano \/etc\/ssh\/sshd_config<\/code>) ve a\u015fa\u011f\u0131daki sat\u0131rlar\u0131 bulun veya ekleyin:<\/p>\n<pre><code class=\"language-plaintext\">PasswordAuthentication no\nChallengeResponseAuthentication no\nUsePAM no # E\u011fer PasswordAuthentication devre d\u0131\u015f\u0131 b\u0131rak\u0131l\u0131yorsa bu da devre d\u0131\u015f\u0131 b\u0131rak\u0131labilir\n<\/code><\/pre>\n<p>De\u011fi\u015fiklikleri kaydedin ve SSH servisini yeniden ba\u015flat\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart sshd<\/code><\/pre>\n<p><strong>\u00d6nemli:<\/strong> Bu de\u011fi\u015fikli\u011fi yapmadan \u00f6nce SSH anahtar\u0131n\u0131zla sunucuya ba\u015far\u0131l\u0131 bir \u015fekilde ba\u011flanabildi\u011finizden kesinlikle emin olun. Aksi takdirde sunucunuza eri\u015fiminizi kaybedebilirsiniz.<\/p>\n<h3>2. Root Kullan\u0131c\u0131s\u0131 ile SSH Eri\u015fimini K\u0131s\u0131tlama<\/h3>\n<p>Root kullan\u0131c\u0131s\u0131 ile do\u011frudan SSH ba\u011flant\u0131s\u0131 kurmak, g\u00fcvenlik riski ta\u015f\u0131r. Bunun yerine, normal bir kullan\u0131c\u0131 ile ba\u011flan\u0131p gerekti\u011finde <code>sudo<\/code> kullanmak daha g\u00fcvenlidir. <code>\/etc\/ssh\/sshd_config<\/code> dosyas\u0131nda a\u015fa\u011f\u0131daki sat\u0131r\u0131 bulun veya ekleyin:<\/p>\n<pre><code class=\"language-plaintext\">PermitRootLogin no<\/code><\/pre>\n<p>De\u011fi\u015fiklikleri kaydedip SSH servisini yeniden ba\u015flat\u0131n.<\/p>\n<h3>3. Varsay\u0131lan SSH Portunu De\u011fi\u015ftirme<\/h3>\n<p>SSH&#8217;in varsay\u0131lan portu olan 22, sald\u0131rganlar taraf\u0131ndan en \u00e7ok hedeflenen portlardan biridir. Farkl\u0131 bir port numaras\u0131 (\u00f6rne\u011fin, 2222 veya 54321 gibi y\u00fcksek bir say\u0131) kullanarak otomatik sald\u0131r\u0131lar\u0131n b\u00fcy\u00fck bir k\u0131sm\u0131n\u0131 engelleyebilirsiniz. <code>\/etc\/ssh\/sshd_config<\/code> dosyas\u0131nda a\u015fa\u011f\u0131daki sat\u0131r\u0131 bulun ve de\u011fi\u015ftirin:<\/p>\n<pre><code class=\"language-plaintext\">#Port 22\nPort 2222 # Yeni port numaran\u0131z<\/code><\/pre>\n<p>De\u011fi\u015fiklikleri kaydettikten sonra SSH servisini yeniden ba\u015flat\u0131n ve g\u00fcvenlik duvar\u0131n\u0131zda (firewall) yeni portu a\u00e7may\u0131 unutmay\u0131n (\u00f6rne\u011fin, <code>sudo firewall-cmd --permanent --add-port=2222\/tcp<\/code> ve <code>sudo firewall-cmd --reload<\/code>).<\/p>\n<h3>4. Anahtarlar\u0131n\u0131z\u0131 Yedekleme<\/h3>\n<p>\u00d6zel anahtar\u0131n\u0131z\u0131 kaybetmek, ilgili sunuculara eri\u015fiminizi kaybetmenize neden olabilir. Bu nedenle, <code>~\/.ssh<\/code> dizininizi g\u00fcvenli bir \u015fekilde yedeklemek \u00f6nemlidir. \u015eifreli bir USB s\u00fcr\u00fcc\u00fc veya g\u00fcvenli bir bulut depolama hizmeti kullanabilirsiniz. Yedekledi\u011finiz \u00f6zel anahtar\u0131n parolal\u0131 oldu\u011fundan emin olun.<\/p>\n<h2>Sonu\u00e7 ve S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h2>\n<p>Bu rehberde, Rocky Linux 8 \u00fczerinde SSH anahtarlar\u0131n\u0131 nas\u0131l olu\u015fturaca\u011f\u0131n\u0131z\u0131, genel anahtar\u0131n\u0131z\u0131 uzak sunucuya nas\u0131l kopyalayaca\u011f\u0131n\u0131z\u0131 ve g\u00fcvenli bir \u015fekilde nas\u0131l ba\u011flant\u0131 kuraca\u011f\u0131n\u0131z\u0131 \u00f6\u011frendiniz. SSH anahtarlar\u0131, \u015fifre tabanl\u0131 kimlik do\u011frulamaya k\u0131yasla hem daha g\u00fcvenli hem de daha kullan\u0131\u015fl\u0131 bir y\u00f6ntem sunar. Anahtarlar\u0131n\u0131z\u0131 ve sunucu ayarlar\u0131n\u0131z\u0131 do\u011fru bir \u015fekilde yap\u0131land\u0131rarak, uzak sunucular\u0131n\u0131za eri\u015fim g\u00fcvenli\u011finizi \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131rabilirsiniz.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<h4>1. Anahtar\u0131m\u0131 kaybedersem ne olur?<\/h4>\n<p>\u00d6zel anahtar\u0131n\u0131z\u0131 kaybederseniz, o anahtarla yetkilendirilmi\u015f sunuculara eri\u015fiminizi kaybedersiniz. Bu durumda, sunucuya farkl\u0131 bir kimlik do\u011frulama y\u00f6ntemiyle (\u00f6rne\u011fin, ba\u015fka bir SSH anahtar\u0131 veya \u015fifre tabanl\u0131 eri\u015fiminiz varsa) ba\u011flanman\u0131z, yeni bir anahtar \u00e7ifti olu\u015fturman\u0131z ve yeni genel anahtar\u0131 sunucuya tekrar kopyalaman\u0131z gerekir. E\u011fer sunucuya ba\u015fka bir \u015fekilde eri\u015femiyorsan\u0131z, sunucunun kurtarma modunu kullanman\u0131z gerekebilir.<\/p>\n<h4>2. Parola (passphrase) belirlemek zorunlu mu?<\/h4>\n<p>Hay\u0131r, zorunlu de\u011fildir. Ancak \u00f6zel anahtar\u0131n\u0131za bir parola belirlemek, anahtar\u0131n\u0131z\u0131n \u00e7al\u0131nmas\u0131 durumunda ek bir g\u00fcvenlik katman\u0131 sa\u011flar. Parolas\u0131z bir anahtar, ele ge\u00e7irildi\u011finde direkt olarak kullan\u0131labilir. G\u00fcvenlik i\u00e7in parola kullanman\u0131z \u015fiddetle tavsiye edilir.<\/p>\n<h4>3. Birden fazla sunucu i\u00e7in farkl\u0131 anahtarlar kullanabilir miyim?<\/h4>\n<p>Evet, kesinlikle kullanabilirsiniz. Her sunucu i\u00e7in ayr\u0131 bir anahtar \u00e7ifti olu\u015fturmak iyi bir g\u00fcvenlik uygulamas\u0131d\u0131r. Bu sayede bir anahtar\u0131n\u0131z\u0131n g\u00fcvenli\u011fi ihlal edilirse, di\u011fer sunucular\u0131n\u0131z\u0131n g\u00fcvenli\u011fi etkilenmez. <code>ssh-keygen<\/code> komutunu farkl\u0131 bir dosya ad\u0131 ile \u00e7al\u0131\u015ft\u0131rarak (\u00f6rne\u011fin, <code>ssh-keygen -f ~\/.ssh\/id_testserver -t ed25519<\/code>) farkl\u0131 anahtarlar olu\u015fturabilir ve <code>~\/.ssh\/config<\/code> dosyas\u0131nda bu anahtarlar\u0131 her sunucuya \u00f6zel olarak tan\u0131mlayabilirsiniz.<\/p>\n<h4>4. SSH anahtarlar\u0131m\u0131 nas\u0131l yedeklerim?<\/h4>\n<p><code>~\/.ssh<\/code> dizinindeki \u00f6zel anahtar dosyan\u0131z\u0131 (\u00f6rne\u011fin, <code>id_ed25519<\/code>) g\u00fcvenli bir yere kopyalayarak yedekleyebilirsiniz. Bu yedekleme i\u015flemi s\u0131ras\u0131nda anahtar dosyas\u0131n\u0131n \u015fifreli (parolal\u0131) oldu\u011fundan emin olun. USB s\u00fcr\u00fcc\u00fc, \u015fifreli harici disk veya g\u00fcvenli bulut depolama gibi y\u00f6ntemler kullanabilirsiniz. Yedekleme s\u0131ras\u0131nda izinlerin bozulmamas\u0131na dikkat edin.<\/p>\n<h4>5. &#8220;Permission denied (publickey)&#8221; hatas\u0131n\u0131 nas\u0131l \u00e7\u00f6zerim?<\/h4>\n<p>Bu hata genellikle a\u015fa\u011f\u0131daki nedenlerden birinden kaynaklan\u0131r:<\/p>\n<ul>\n<li><strong>Yanl\u0131\u015f Dosya \u0130zinleri:<\/strong> Sunucudaki <code>~\/.ssh<\/code> dizininin ve <code>~\/.ssh\/authorized_keys<\/code> dosyas\u0131n\u0131n izinleri yanl\u0131\u015f ayarlanm\u0131\u015f olabilir. <code>~\/.ssh<\/code> i\u00e7in <code>700<\/code>, <code>~\/.ssh\/authorized_keys<\/code> i\u00e7in <code>600<\/code> izinleri olmal\u0131d\u0131r.<\/li>\n<li><strong>Anahtar Kopyalanmam\u0131\u015f:<\/strong> Genel anahtar\u0131n\u0131z sunucuya do\u011fru bir \u015fekilde kopyalanmam\u0131\u015f veya <code>authorized_keys<\/code> dosyas\u0131na eklenmemi\u015f olabilir.<\/li>\n<li><strong>Yanl\u0131\u015f \u00d6zel Anahtar:<\/strong> Ba\u011flant\u0131 kurmaya \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131zda SSH istemciniz do\u011fru \u00f6zel anahtar\u0131 bulam\u0131yor olabilir. <code>ssh -i \/path\/to\/your\/private_key user@host<\/code> komutuyla \u00f6zel anahtar\u0131n\u0131z\u0131 a\u00e7\u0131k\u00e7a belirtebilirsiniz.<\/li>\n<li><strong>SELinux\/AppArmor K\u0131s\u0131tlamalar\u0131:<\/strong> Sunucuda SELinux veya AppArmor gibi g\u00fcvenlik mekanizmalar\u0131 SSH eri\u015fimini k\u0131s\u0131tl\u0131yor olabilir. Log dosyalar\u0131n\u0131 kontrol edin.<\/li>\n<\/ul>\n<p>Sorunu gidermek i\u00e7in sunucudaki <code>\/var\/log\/secure<\/code> (veya benzeri) log dosyalar\u0131n\u0131 kontrol etmek genellikle faydal\u0131d\u0131r. Ayr\u0131ca, <code>ssh -vvv user@host<\/code> komutunu kullanarak detayl\u0131 hata ay\u0131klama \u00e7\u0131kt\u0131s\u0131 alabilir ve sorunun k\u00f6k nedenini belirleyebilirsiniz.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Giri\u015f: SSH Anahtarlar\u0131 Neden \u00d6nemli?\nG\u00fcvenli Kabuk Protokol\u00fc (SSH), uzak sunuculara g\u00fcvenli bir \u015fekilde ba\u011flanman\u0131n temel yoludur. Geleneks","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-38442","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>Giri\u015f: SSH Anahtarlar\u0131 Neden \u00d6nemli? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\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\/giris-ssh-anahtarlari-neden-onemli\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Giri\u015f: SSH Anahtarlar\u0131 Neden \u00d6nemli?\" \/>\n<meta property=\"og:description\" content=\"Giri\u015f: SSH Anahtarlar\u0131 Neden \u00d6nemli? G\u00fcvenli Kabuk Protokol\u00fc (SSH), uzak sunuculara g\u00fcvenli bir \u015fekilde ba\u011flanman\u0131n temel yoludur. Geleneks\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/giris-ssh-anahtarlari-neden-onemli\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-31T08:41:26+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=\"13 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/giris-ssh-anahtarlari-neden-onemli\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/giris-ssh-anahtarlari-neden-onemli\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Giri\u015f: SSH Anahtarlar\u0131 Neden \u00d6nemli?\",\"datePublished\":\"2026-01-31T08:41:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/giris-ssh-anahtarlari-neden-onemli\/\"},\"wordCount\":2192,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/giris-ssh-anahtarlari-neden-onemli\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/giris-ssh-anahtarlari-neden-onemli\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/giris-ssh-anahtarlari-neden-onemli\/\",\"name\":\"Giri\u015f: SSH Anahtarlar\u0131 Neden \u00d6nemli? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-01-31T08:41:26+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/giris-ssh-anahtarlari-neden-onemli\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/giris-ssh-anahtarlari-neden-onemli\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/giris-ssh-anahtarlari-neden-onemli\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Giri\u015f: SSH Anahtarlar\u0131 Neden \u00d6nemli?\"}]},{\"@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":"Giri\u015f: SSH Anahtarlar\u0131 Neden \u00d6nemli? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","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\/giris-ssh-anahtarlari-neden-onemli\/","og_locale":"tr_TR","og_type":"article","og_title":"Giri\u015f: SSH Anahtarlar\u0131 Neden \u00d6nemli?","og_description":"Giri\u015f: SSH Anahtarlar\u0131 Neden \u00d6nemli? G\u00fcvenli Kabuk Protokol\u00fc (SSH), uzak sunuculara g\u00fcvenli bir \u015fekilde ba\u011flanman\u0131n temel yoludur. Geleneks","og_url":"https:\/\/fatihsoysal.com\/blog\/giris-ssh-anahtarlari-neden-onemli\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-01-31T08:41:26+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"13 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/giris-ssh-anahtarlari-neden-onemli\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/giris-ssh-anahtarlari-neden-onemli\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Giri\u015f: SSH Anahtarlar\u0131 Neden \u00d6nemli?","datePublished":"2026-01-31T08:41:26+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/giris-ssh-anahtarlari-neden-onemli\/"},"wordCount":2192,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/giris-ssh-anahtarlari-neden-onemli\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/giris-ssh-anahtarlari-neden-onemli\/","url":"https:\/\/fatihsoysal.com\/blog\/giris-ssh-anahtarlari-neden-onemli\/","name":"Giri\u015f: SSH Anahtarlar\u0131 Neden \u00d6nemli? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-01-31T08:41:26+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/giris-ssh-anahtarlari-neden-onemli\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/giris-ssh-anahtarlari-neden-onemli\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/giris-ssh-anahtarlari-neden-onemli\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Giri\u015f: SSH Anahtarlar\u0131 Neden \u00d6nemli?"}]},{"@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\/38442","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=38442"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38442\/revisions"}],"predecessor-version":[{"id":38443,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38442\/revisions\/38443"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=38442"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=38442"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=38442"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}