{"id":33349,"date":"2025-11-01T21:41:19","date_gmt":"2025-11-01T18:41:19","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=33349"},"modified":"2025-11-01T21:41:19","modified_gmt":"2025-11-01T18:41:19","slug":"openssh-ile-macos-linux-ve-windows-subsystem-for-linux-wsl-uzerinde-ssh-anahtarlari-olusturma","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/openssh-ile-macos-linux-ve-windows-subsystem-for-linux-wsl-uzerinde-ssh-anahtarlari-olusturma\/","title":{"rendered":"OpenSSH ile macOS, Linux ve Windows Subsystem for Linux (WSL) \u00dczerinde SSH Anahtarlar\u0131 Olu\u015fturma"},"content":{"rendered":"<p><body><\/p>\n<h2>OpenSSH ile macOS, Linux ve Windows Subsystem for Linux (WSL) \u00dczerinde SSH Anahtarlar\u0131 Olu\u015fturma<\/h2>\n<p>SSH (Secure Shell) anahtarlar\u0131, sunuculara, Git depolar\u0131na ve di\u011fer uzak sistemlere g\u00fcvenli, parola gerektirmeyen eri\u015fim sa\u011flaman\u0131n temelini olu\u015fturur. Geleneksel parola tabanl\u0131 kimlik do\u011frulaman\u0131n aksine, SSH anahtarlar\u0131 \u00e7ok daha g\u00fc\u00e7l\u00fc bir g\u00fcvenlik katman\u0131 sunar ve otomasyon s\u00fcre\u00e7lerini kolayla\u015ft\u0131r\u0131r. Bu kapsaml\u0131 teknik makalede, OpenSSH kullanarak macOS, Linux ve Windows Subsystem for Linux (WSL) ortamlar\u0131nda SSH anahtar \u00e7iftlerini nas\u0131l olu\u015fturaca\u011f\u0131n\u0131z\u0131, y\u00f6netece\u011finizi ve g\u00fcvenli bir \u015fekilde kullanaca\u011f\u0131n\u0131z\u0131 ayr\u0131nt\u0131l\u0131 olarak ele alaca\u011f\u0131z.<\/p>\n<h3>SSH Anahtarlar\u0131 Neden \u00d6nemlidir?<\/h3>\n<p>\u0130nternet \u00fczerinden veya yerel a\u011flarda sistemlere eri\u015fim sa\u011flarken g\u00fcvenlik her zaman en b\u00fcy\u00fck \u00f6nceliktir. Geleneksel parola tabanl\u0131 kimlik do\u011frulama y\u00f6ntemleri, \u00e7e\u015fitli zay\u0131fl\u0131klara sahiptir:<\/p>\n<p>*   <strong>Zay\u0131f Parolalar:<\/strong> Kullan\u0131c\u0131lar genellikle kolay tahmin edilebilir veya k\u0131sa parolalar kullan\u0131r.<br \/>\n*   <strong>Kaba Kuvvet Sald\u0131r\u0131lar\u0131:<\/strong> Sald\u0131rganlar, parolalar\u0131 tahmin etmek i\u00e7in otomatize ara\u00e7lar kullanabilir.<br \/>\n*   <strong>Ortadaki Adam Sald\u0131r\u0131lar\u0131 (Man-in-the-Middle):<\/strong> G\u00fcvenli olmayan a\u011flarda parolalar ele ge\u00e7irilebilir.<br \/>\n*   <strong>Parola S\u0131z\u0131nt\u0131lar\u0131:<\/strong> Bir hizmetten s\u0131zan parolalar, ba\u015fka sistemlerde de kullan\u0131labilir (credential stuffing).<\/p>\n<p>SSH anahtarlar\u0131, bu sorunlar\u0131n \u00e7o\u011funu \u00e7\u00f6zerek daha g\u00fcvenli ve pratik bir alternatif sunar. Asimetrik \u015fifreleme prensibine dayan\u0131r; yani bir \u00f6zel anahtar (private key) ve bir genel anahtar (public key) \u00e7iftinden olu\u015fur.<\/p>\n<h3>SSH Anahtar \u00c7ifti Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/h3>\n<p>SSH anahtar \u00e7ifti, kriptografik olarak birbirine ba\u011fl\u0131 iki dosyadan olu\u015fur:<\/p>\n<p>1.  <strong>\u00d6zel Anahtar (Private Key):<\/strong> Bu anahtar, yaln\u0131zca sizin taraf\u0131n\u0131zdan eri\u015filebilir olmal\u0131 ve kesinlikle gizli tutulmal\u0131d\u0131r. Genellikle bir parola (passphrase) ile korunur. \u00d6zel anahtar\u0131n\u0131z olmadan kimse sizin ad\u0131n\u0131za kimlik do\u011frulamas\u0131 yapamaz. Dosya izinleri genellikle <code>600<\/code> veya <code>400<\/code> olarak ayarlan\u0131r, yani sadece sahibi taraf\u0131ndan okunabilir olmal\u0131d\u0131r.<br \/>\n2.  <strong>Genel Anahtar (Public Key):<\/strong> Bu anahtar, payla\u015f\u0131ma a\u00e7\u0131kt\u0131r ve eri\u015fmek istedi\u011finiz sunuculara veya hizmetlere kopyalan\u0131r. Sunucu, bu genel anahtar\u0131 kullanarak sizin \u00f6zel anahtar\u0131n\u0131zla g\u00f6nderdi\u011finiz \u015fifrelenmi\u015f mesaj\u0131 do\u011frulayabilir. Genel anahtar\u0131n s\u0131zd\u0131r\u0131lmas\u0131, \u00f6zel anahtar\u0131n\u0131z\u0131n g\u00fcvenli\u011fi sa\u011fland\u0131\u011f\u0131 s\u00fcrece bir risk olu\u015fturmaz.<\/p>\n<p><strong>Kimlik Do\u011frulama S\u00fcreci:<\/strong><\/p>\n<p>1.  Bir sunucuya SSH ile ba\u011flanmaya \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131zda, sunucu sizin genel anahtar\u0131n\u0131z\u0131 <code>~\/.ssh\/authorized_keys<\/code> dosyas\u0131nda arar.<br \/>\n2.  Buldu\u011funda, rastgele bir mesaj\u0131 sizin genel anahtar\u0131n\u0131zla \u015fifreler ve size g\u00f6nderir.<br \/>\n3.  Sizin SSH istemciniz, bu mesaj\u0131 \u00f6zel anahtar\u0131n\u0131zla \u00e7\u00f6zer ve orijinal mesaj\u0131 sunucuya geri g\u00f6nderir.<br \/>\n4.  Sunucu, g\u00f6nderdi\u011fi mesaj\u0131n do\u011fru bir \u015fekilde \u00e7\u00f6z\u00fcl\u00fcp \u00e7\u00f6z\u00fclmedi\u011fini kontrol eder. E\u011fer do\u011fruysa, \u00f6zel anahtar\u0131n sizde oldu\u011funu anlar ve ba\u011flant\u0131ya izin verir.<br \/>\n5.  E\u011fer \u00f6zel anahtar\u0131n\u0131z bir parola ile korunuyorsa, SSH istemciniz bu parolay\u0131 isteyecektir.<\/p>\n<p>Bu s\u00fcre\u00e7, \u00f6zel anahtar\u0131n\u0131z\u0131n asla a\u011f \u00fczerinden aktar\u0131lmad\u0131\u011f\u0131, yaln\u0131zca \u015fifreleme ve \u015fifre \u00e7\u00f6zme i\u015flemlerinde kullan\u0131ld\u0131\u011f\u0131 anlam\u0131na gelir, bu da g\u00fcvenli\u011fi art\u0131r\u0131r.<\/p>\n<h3>\u00d6n Ko\u015fullar<\/h3>\n<p>Bu makaledeki ad\u0131mlar\u0131 takip etmek i\u00e7in a\u015fa\u011f\u0131daki \u00f6n ko\u015fullar\u0131n kar\u015f\u0131land\u0131\u011f\u0131ndan emin olun:<\/p>\n<p>*   <strong>OpenSSH Kurulumu:<\/strong><br \/>\n    *   <strong>macOS:<\/strong> OpenSSH genellikle i\u015fletim sistemiyle birlikte gelir. Terminal uygulamas\u0131n\u0131 a\u00e7arak <code>ssh -V<\/code> komutuyla kurulu olup olmad\u0131\u011f\u0131n\u0131 kontrol edebilirsiniz.<br \/>\n    *   <strong>Linux:<\/strong> \u00c7o\u011fu Linux da\u011f\u0131t\u0131m\u0131nda (Ubuntu, Debian, Fedora, CentOS vb.) OpenSSH istemcisi varsay\u0131lan olarak y\u00fckl\u00fcd\u00fcr. E\u011fer kurulu de\u011filse, da\u011f\u0131t\u0131m\u0131n\u0131z\u0131n paket y\u00f6neticisi ile kurabilirsiniz (\u00f6rn: <code>sudo apt install openssh-client<\/code> veya <code>sudo yum install openssh-clients<\/code>).<br \/>\n    *   <strong>Windows Subsystem for Linux (WSL):<\/strong> WSL ortam\u0131, bir Linux da\u011f\u0131t\u0131m\u0131 oldu\u011fu i\u00e7in Linux ad\u0131mlar\u0131 ge\u00e7erlidir. WSL&#8217;i kurduktan sonra terminali a\u00e7arak <code>ssh -V<\/code> komutunu kullanabilirsiniz.<br \/>\n*   <strong>Temel Komut Sat\u0131r\u0131 Bilgisi:<\/strong> Terminal veya komut istemcisini kullanma konusunda temel bilgiye sahip olman\u0131z gerekmektedir.<\/p>\n<h3>SSH Anahtarlar\u0131 Olu\u015fturma: <code>ssh-keygen<\/code> Komutu<\/h3>\n<p>SSH anahtarlar\u0131 olu\u015fturmak i\u00e7in <code>ssh-keygen<\/code> komutu kullan\u0131l\u0131r. Bu komut, hem \u00f6zel hem de genel anahtar \u00e7iftini olu\u015fturur ve genellikle kullan\u0131c\u0131n\u0131n ana dizinindeki <code>.ssh<\/code> klas\u00f6r\u00fcne kaydeder (<code>~\/.ssh\/<\/code>).<\/p>\n<p><strong>Genel S\u00f6zdizimi:<\/strong><\/p>\n<pre><code class=\"language-bash\">ssh-keygen [se\u00e7enekler]<\/code><\/pre>\n<p><strong>\u00d6nemli Se\u00e7enekler:<\/strong><\/p>\n<p>*   <code>-t <anahtar_t\u00fcr\u00fc><\/code>: Olu\u015fturulacak anahtar\u0131n t\u00fcr\u00fcn\u00fc belirtir.<br \/>\n    *   <strong><code>ed25519<\/code> (\u00d6nerilen):<\/strong> Yeni ve modern bir anahtar t\u00fcr\u00fcd\u00fcr. Daha k\u00fc\u00e7\u00fck anahtar boyutlar\u0131na ra\u011fmen RSA&#8217;dan daha g\u00fcvenli ve h\u0131zl\u0131d\u0131r.<br \/>\n    *   <strong><code>rsa<\/code>:<\/strong> Geleneksel ve yayg\u0131n olarak kullan\u0131lan bir anahtar t\u00fcr\u00fcd\u00fcr. G\u00fcvenli olmas\u0131 i\u00e7in en az 2048 bit, tercihen 4096 bit olmal\u0131d\u0131r.<br \/>\n    *   <strong><code>ecdsa<\/code>:<\/strong> RSA&#8217;ya bir alternatif, ancak baz\u0131 g\u00fcvenlik tart\u0131\u015fmalar\u0131 nedeniyle <code>ed25519<\/code> daha \u00e7ok tercih edilir.<br \/>\n*   <code>-b <bit_say\u0131s\u0131><\/code>: Anahtar\u0131n bit boyutunu belirtir (sadece RSA ve DSA i\u00e7in). <code>rsa<\/code> i\u00e7in genellikle <code>4096<\/code> \u00f6nerilir. <code>ed25519<\/code> i\u00e7in bu se\u00e7enek gerekli de\u011fildir, \u00e7\u00fcnk\u00fc anahtar boyutu sabittir.<br \/>\n*   <code>-C \"<yorum>\"<\/code>: Anahtar dosyas\u0131na eklenecek bir yorumdur. Genellikle e-posta adresinizi veya anahtar\u0131 tan\u0131mlayan bir metni buraya yazars\u0131n\u0131z. Bu yorum, genel anahtar dosyas\u0131n\u0131n sonunda g\u00f6r\u00fcn\u00fcr ve anahtar\u0131n kime ait oldu\u011funu veya ne ama\u00e7la kullan\u0131ld\u0131\u011f\u0131n\u0131 anlamaya yard\u0131mc\u0131 olur.<br \/>\n*   <code>-f <dosya_yolu><\/code>: Anahtar \u00e7iftinin kaydedilece\u011fi dosya yolunu belirtir. Varsay\u0131lan olarak <code>~\/.ssh\/id_rsa<\/code> veya <code>~\/.ssh\/id_ed25519<\/code> gibi isimlerle kaydedilir. Birden fazla anahtar \u00e7iftiniz varsa, farkl\u0131 isimler vermek iyi bir uygulamad\u0131r (\u00f6rn: <code>~\/.ssh\/id_github<\/code>).<br \/>\n*   <code>-P <parola><\/code>: Yeni bir parola belirler.<br \/>\n*   <code>-N <parola><\/code>: Eski bir parolay\u0131 yeni bir parolayla de\u011fi\u015ftirir.<\/p>\n<p>### Ad\u0131m Ad\u0131m Anahtar Olu\u015fturma<\/p>\n<p>\u015eimdi en g\u00fcvenli ve \u00f6nerilen y\u00f6ntem olan ED25519 anahtar\u0131n\u0131 olu\u015fturma ad\u0131mlar\u0131na ge\u00e7elim.<\/p>\n<h4>ED25519 Anahtar\u0131 Olu\u015fturma<\/h4>\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 \"your_email@example.com\"<\/code><\/pre>\n<p>*   <code>-t ed25519<\/code>: ED25519 algoritmas\u0131n\u0131 kullanarak bir anahtar olu\u015fturaca\u011f\u0131m\u0131z\u0131 belirtir.<br \/>\n*   <code>-C \"your_email@example.com\"<\/code>: Anahtar\u0131n\u0131za bir yorum ekler. Kendi e-posta adresinizle veya anahtar\u0131n amac\u0131n\u0131 a\u00e7\u0131klayan bir metinle de\u011fi\u015ftirin.<\/p>\n<p>Komutu \u00e7al\u0131\u015ft\u0131rd\u0131ktan sonra, <code>ssh-keygen<\/code> size birka\u00e7 soru soracakt\u0131r:<\/p>\n<p>1.  <strong><code>Enter file in which to save the key (\/home\/youruser\/.ssh\/id_ed25519):<\/code><\/strong><br \/>\n    Bu, \u00f6zel anahtar dosyas\u0131n\u0131n kaydedilece\u011fi konumu sorar. Varsay\u0131lan konum <code>~\/.ssh\/id_ed25519<\/code> genellikle uygun ve g\u00fcvenlidir. E\u011fer birden fazla anahtar olu\u015fturuyorsan\u0131z veya belirli bir ama\u00e7 i\u00e7in farkl\u0131 bir isim vermek istiyorsan\u0131z, burada farkl\u0131 bir yol belirtebilirsiniz (\u00f6rn: <code>~\/.ssh\/id_github_ed25519<\/code>). Varsay\u0131lan\u0131 kabul etmek i\u00e7in Enter tu\u015funa bas\u0131n.<\/p>\n<p>2.  <strong><code>Enter passphrase (empty for no passphrase):<\/code><\/strong><br \/>\n    Bu, \u00f6zel anahtar\u0131n\u0131z\u0131 koruyacak bir parola (passphrase) girmenizi ister. <strong>Bu ad\u0131m \u00e7ok \u00f6nemlidir ve kesinlikle g\u00fc\u00e7l\u00fc bir parola kullanmal\u0131s\u0131n\u0131z.<\/strong> Bir parola kullanmak, \u00f6zel anahtar\u0131n\u0131z\u0131n \u00e7al\u0131nmas\u0131 durumunda bile yetkisiz eri\u015fimi engeller. Parolay\u0131 bo\u015f b\u0131rakmak, anahtar\u0131n\u0131z\u0131 korumas\u0131z b\u0131rak\u0131r ve \u00f6nerilmez. G\u00fc\u00e7l\u00fc bir parola, uzun, karma\u015f\u0131k ve tahmin edilmesi zor olmal\u0131d\u0131r (t\u0131pk\u0131 bir ana parola gibi). Girdi\u011finizde terminalde g\u00f6r\u00fcnmez, bu normaldir.<\/p>\n<p>3.  <strong><code>Enter same passphrase again:<\/code><\/strong><br \/>\n    Parolay\u0131 tekrar girerek onaylay\u0131n.<\/p>\n<p>Ba\u015far\u0131l\u0131 bir \u015fekilde anahtar olu\u015fturuldu\u011funda, terminalde \u015f\u00f6yle bir \u00e7\u0131kt\u0131 g\u00f6receksiniz:<\/p>\n<pre><code class=\"language-\">Generating public\/private ed25519 key pair.\nEnter file in which to save the key (\/home\/youruser\/.ssh\/id_ed25519): \nEnter passphrase (empty for no passphrase): \nEnter same passphrase again: \nYour identification has been saved in \/home\/youruser\/.ssh\/id_ed25519\nYour public key has been saved in \/home\/youruser\/.ssh\/id_ed25519.pub\nThe key's randomart image is:\n+--[ED25519 256]----+\n|         +o*.      |\n|        o.o= .     |\n|       .  = +      |\n|      . * = o      |\n|     o = S .       |\n|    o B .          |\n|   . = .           |\n|  . o              |\n|   E               |\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.<\/p>\n<h4>RSA Anahtar\u0131 Olu\u015fturma (Alternatif)<\/h4>\n<p>E\u011fer eski sistemlerle uyumluluk i\u00e7in RSA anahtar\u0131na ihtiyac\u0131n\u0131z varsa, a\u015fa\u011f\u0131daki komutu kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">ssh-keygen -t rsa -b 4096 -C \"your_email@example.com\"<\/code><\/pre>\n<p>*   <code>-t rsa<\/code>: RSA algoritmas\u0131n\u0131 kullan\u0131r.<br \/>\n*   <code>-b 4096<\/code>: Anahtar boyutunu 4096 bit olarak ayarlar. Bu, RSA i\u00e7in \u00f6nerilen minimum g\u00fcvenlik seviyesidir.<br \/>\n*   Di\u011fer ad\u0131mlar (dosya yolu, parola) ED25519 ile ayn\u0131d\u0131r.<\/p>\n<h4>Anahtar Dosyalar\u0131n\u0131 \u0130nceleme<\/h4>\n<p>Olu\u015fturdu\u011funuz anahtarlar\u0131 g\u00f6rmek i\u00e7in <code>~\/.ssh<\/code> dizinine gidin ve dosyalar\u0131 listeleyin:<\/p>\n<pre><code class=\"language-bash\">ls -al ~\/.ssh<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131 \u015f\u00f6yle bir \u015fey olacakt\u0131r:<\/p>\n<pre><code class=\"language-\">drwx------   3 youruser youruser  4096 Oct 26 10:00 .\ndrwxr-xr-x 112 youruser youruser  4096 Oct 26 09:55 ..\n-rw-------   1 youruser youruser  2000 Oct 26 10:00 id_ed25519       <-- \u00d6zel anahtar (private key)\n-rw-r--r--   1 youruser youruser   450 Oct 26 10:00 id_ed25519.pub   <-- Genel anahtar (public key)\n-rw-r--r--   1 youruser youruser 10000 Oct 26 09:58 known_hosts<\/code><\/pre>\n<p><strong>Dosya \u0130zinleri:<\/strong><br \/>\n\u00d6zel anahtar dosyan\u0131z\u0131n (<code>id_ed25519<\/code>) izinlerinin <code>600<\/code> (<code>-rw-------<\/code>) oldu\u011fundan emin olun. Bu, yaln\u0131zca sizin okuyup yazabilece\u011finiz anlam\u0131na gelir. E\u011fer izinler farkl\u0131ysa (\u00f6rn: <code>644<\/code>), SSH istemcisi g\u00fcvenlik nedeniyle anahtar\u0131 kullanmay\u0131 reddedebilir. \u0130zinleri d\u00fczeltmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">chmod 600 ~\/.ssh\/id_ed25519<\/code><\/pre>\n<p>Genel anahtar dosyan\u0131z\u0131n (<code>id_ed25519.pub<\/code>) izinleri genellikle <code>644<\/code> (<code>-rw-r--r--<\/code>) olabilir, bu da sorun te\u015fkil etmez, \u00e7\u00fcnk\u00fc bu dosya zaten payla\u015f\u0131lmak \u00fczere tasarlanm\u0131\u015ft\u0131r. Ancak baz\u0131 durumlarda <code>600<\/code> olarak ayarlanmas\u0131 da m\u00fcmk\u00fcnd\u00fcr.<\/p>\n<h3>SSH Anahtarlar\u0131n\u0131 Sunucuya Kopyalama<\/h3>\n<p>Anahtar \u00e7iftini olu\u015fturduktan sonra, genel anahtar\u0131n\u0131z\u0131 eri\u015fmek istedi\u011finiz uzak sunucuya kopyalaman\u0131z gerekir. Bu, sunucunun sizi \u00f6zel anahtar\u0131n\u0131zla do\u011frulayabilmesini sa\u011flar.<\/p>\n<h4><code>ssh-copy-id<\/code> Kullanarak<\/h4>\n<p><code>ssh-copy-id<\/code> komutu, genel anahtar\u0131n\u0131z\u0131 bir sunucuya kopyalaman\u0131n en kolay ve \u00f6nerilen yoludur. Bu komut, sunucuda <code>~\/.ssh<\/code> dizinini olu\u015fturur (e\u011fer yoksa), <code>authorized_keys<\/code> dosyas\u0131n\u0131 d\u00fczenler ve do\u011fru izinleri ayarlar.<\/p>\n<pre><code class=\"language-bash\">ssh-copy-id -i ~\/.ssh\/id_ed25519.pub user@remote_host<\/code><\/pre>\n<p>*   <code>-i ~\/.ssh\/id_ed25519.pub<\/code>: Kopyalanacak genel anahtar dosyas\u0131n\u0131n yolunu belirtir. E\u011fer varsay\u0131lan anahtar ad\u0131n\u0131 (<code>id_rsa<\/code> veya <code>id_ed25519<\/code>) kulland\u0131ysan\u0131z, <code>-i<\/code> se\u00e7ene\u011fini belirtmenize gerek kalmaz.<br \/>\n*   <code>user@remote_host<\/code>: Uzak sunucudaki kullan\u0131c\u0131 ad\u0131n\u0131z ve sunucunun IP adresi veya ana bilgisayar ad\u0131d\u0131r (\u00f6rn: <code>ubuntu@192.168.1.100<\/code> veya <code>root@my-server.com<\/code>).<\/p>\n<p>Komutu \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, sunucuya ilk kez ba\u011flan\u0131yorsan\u0131z bir parmak izi onay\u0131 ve ard\u0131ndan uzak sunucudaki <code>user<\/code> hesab\u0131n\u0131n parolas\u0131n\u0131 isteyecektir (SSH anahtar\u0131n\u0131z\u0131n parolas\u0131 de\u011fil!). Parolay\u0131 girdikten sonra, genel anahtar\u0131n\u0131z sunucuya kopyalanm\u0131\u015f olacakt\u0131r.<\/p>\n<pre><code class=\"language-\">\/usr\/bin\/ssh-copy-id: INFO: Source of key(s) to be installed: \"\/home\/youruser\/.ssh\/id_ed25519.pub\"\nThe authenticity of host 'remote_host (192.168.1.100)' can't be established.\nECDSA key fingerprint is SHA256:....\nAre you sure you want to continue connecting (yes\/no\/[fingerprint])? yes\n\/usr\/bin\/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed\n\/usr\/bin\/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys\nuser@remote_host's password: \n\nNumber of key(s) added: 1\n\nNow try logging into the machine, with:   \"ssh 'user@remote_host'\"\nand check to make sure that only the key(s) you wanted were added.<\/code><\/pre>\n<h4>Manuel Olarak Kopyalama<\/h4>\n<p>E\u011fer <code>ssh-copy-id<\/code> komutu sisteminizde yoksa veya manuel olarak yapmak isterseniz, a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 izleyebilirsiniz:<\/p>\n<p>1.  <strong>Genel anahtar\u0131n\u0131z\u0131n i\u00e7eri\u011fini g\u00f6r\u00fcnt\u00fcleyin:<\/strong><\/p>\n<pre><code class=\"language-bash\">cat ~\/.ssh\/id_ed25519.pub<\/code><\/pre>\n<p>    \u00c7\u0131kt\u0131y\u0131 tamamen kopyalay\u0131n. \u015euna benzer olacakt\u0131r:<br \/>\n    <code>ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC5dY... your_email@example.com<\/code><\/p>\n<p>2.  <strong>Uzak sunucuya parola ile ba\u011flan\u0131n:<\/strong><\/p>\n<pre><code class=\"language-bash\">ssh user@remote_host<\/code><\/pre>\n<p>    Sunucu parolan\u0131z\u0131 girin.<\/p>\n<p>3.  <strong>Sunucuda <code>~\/.ssh<\/code> dizinini olu\u015fturun (e\u011fer yoksa) ve izinlerini ayarlay\u0131n:<\/strong><\/p>\n<pre><code class=\"language-bash\">mkdir -p ~\/.ssh\n    chmod 700 ~\/.ssh<\/code><\/pre>\n<p>4.  <strong>Kopyalad\u0131\u011f\u0131n\u0131z genel anahtar\u0131 <code>authorized_keys<\/code> dosyas\u0131na ekleyin:<\/strong><\/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\u0131n\u0131, 1. ad\u0131mda kopyalad\u0131\u011f\u0131n\u0131z genel anahtar i\u00e7eri\u011fi ile de\u011fi\u015ftirin.<br \/>\n    <strong>Dikkat:<\/strong> <code>>><\/code> operat\u00f6r\u00fc, anahtar\u0131 dosyan\u0131n sonuna ekler. E\u011fer <code>><\/code> kullan\u0131rsan\u0131z, dosyan\u0131n i\u00e7eri\u011fini siler ve sadece sizin anahtar\u0131n\u0131z\u0131 b\u0131rak\u0131r. Birden fazla anahtar\u0131n\u0131z varsa <code>>><\/code> kullanmak \u00f6nemlidir.<\/p>\n<p>5.  <strong><code>authorized_keys<\/code> dosyas\u0131n\u0131n izinlerini ayarlay\u0131n:<\/strong><\/p>\n<pre><code class=\"language-bash\">chmod 600 ~\/.ssh\/authorized_keys<\/code><\/pre>\n<p>Bu ad\u0131mlar\u0131 tamamlad\u0131ktan sonra, sunucudan \u00e7\u0131k\u0131\u015f yap\u0131n (<code>exit<\/code>) ve anahtar\u0131n\u0131zla ba\u011flanmay\u0131 deneyin.<\/p>\n<h3>SSH Anahtarlar\u0131yla Ba\u011flanma<\/h3>\n<p>Genel anahtar\u0131n\u0131z\u0131 sunucuya kopyalad\u0131ktan sonra, art\u0131k parola girmeden ba\u011flanabilirsiniz (e\u011fer \u00f6zel anahtar\u0131n\u0131z\u0131n parolas\u0131 yoksa veya <code>ssh-agent<\/code> kullan\u0131yorsan\u0131z).<\/p>\n<pre><code class=\"language-bash\">ssh user@remote_host<\/code><\/pre>\n<p>E\u011fer \u00f6zel anahtar\u0131n\u0131z bir parola ile korunuyorsa, bu noktada sizden parolan\u0131z\u0131 isteyecektir. Do\u011fru parolay\u0131 girdi\u011finizde sunucuya ba\u011flanacaks\u0131n\u0131z.<\/p>\n<p>\u0130lk kez bir sunucuya ba\u011fland\u0131\u011f\u0131n\u0131zda, SSH istemcisi sunucunun ana bilgisayar anahtar\u0131n\u0131n parmak izini sorar. Bu, \"Ortadaki Adam\" sald\u0131r\u0131lar\u0131n\u0131 \u00f6nlemek i\u00e7indir. E\u011fer parmak izi do\u011fruysa <code>yes<\/code> yaz\u0131p Enter tu\u015funa bas\u0131n. Bu parmak izi, <code>~\/.ssh\/known_hosts<\/code> dosyan\u0131za kaydedilecektir.<\/p>\n<h4><code>ssh-agent<\/code> ve <code>ssh-add<\/code> Kullanarak Passphrase Y\u00f6netimi<\/h4>\n<p>Her SSH ba\u011flant\u0131s\u0131 kurdu\u011funuzda \u00f6zel anahtar\u0131n\u0131z\u0131n parolas\u0131n\u0131 girmek can s\u0131k\u0131c\u0131 olabilir. <code>ssh-agent<\/code> ve <code>ssh-add<\/code> komutlar\u0131, bu sorunu \u00e7\u00f6zmek i\u00e7in kullan\u0131l\u0131r.<\/p>\n<p>*   <strong><code>ssh-agent<\/code>:<\/strong> Arka planda \u00e7al\u0131\u015fan bir programd\u0131r. \u00d6zel anahtarlar\u0131n\u0131z\u0131n \u015fifresini \u00e7\u00f6z\u00fclm\u00fc\u015f hallerini bellekte g\u00fcvenli bir \u015fekilde saklar. B\u00f6ylece anahtar\u0131n\u0131z\u0131 bir kez parolayla a\u00e7t\u0131ktan sonra, oturumunuz boyunca tekrar parola girmenize gerek kalmaz.<br \/>\n*   <strong><code>ssh-add<\/code>:<\/strong> \u00d6zel anahtar\u0131n\u0131z\u0131 <code>ssh-agent<\/code>'a eklemek i\u00e7in kullan\u0131l\u0131r.<\/p>\n<p><strong>Kullan\u0131m Ad\u0131mlar\u0131:<\/strong><\/p>\n<p>1.  <strong><code>ssh-agent<\/code>'\u0131 ba\u015flat\u0131n:<\/strong><\/p>\n<pre><code class=\"language-bash\">eval \"$(ssh-agent -s)\"<\/code><\/pre>\n<p>    Bu komut, <code>ssh-agent<\/code>'\u0131 ba\u015flat\u0131r ve gerekli ortam de\u011fi\u015fkenlerini ayarlar. \u00c7\u0131kt\u0131 \u015f\u00f6yle bir \u015fey olabilir:<br \/>\n    <code>Agent pid 12345<\/code><\/p>\n<p>2.  <strong>\u00d6zel anahtar\u0131n\u0131z\u0131 <code>ssh-agent<\/code>'a ekleyin:<\/strong><\/p>\n<pre><code class=\"language-bash\">ssh-add ~\/.ssh\/id_ed25519<\/code><\/pre>\n<p>    E\u011fer anahtar\u0131n\u0131z bir parola ile korunuyorsa, bu noktada parolan\u0131z\u0131 isteyecektir. Parolay\u0131 girdikten sonra anahtar\u0131n\u0131z <code>ssh-agent<\/code>'a eklenir.<\/p>\n<p>    Birden fazla anahtar\u0131n\u0131z varsa, her birini <code>ssh-add<\/code> ile ekleyebilirsiniz.<br \/>\n    T\u00fcm anahtarlar\u0131 otomatik olarak eklemek i\u00e7in: <code>ssh-add<\/code> (bu, varsay\u0131lan konumdaki t\u00fcm anahtarlar\u0131 eklemeye \u00e7al\u0131\u015f\u0131r).<\/p>\n<p>3.  <strong>Eklenen anahtarlar\u0131 listeleyin:<\/strong><\/p>\n<pre><code class=\"language-bash\">ssh-add -l<\/code><\/pre>\n<p>    Bu komut, <code>ssh-agent<\/code>'a eklenmi\u015f t\u00fcm anahtarlar\u0131n parmak izlerini listeler.<\/p>\n<p>Art\u0131k, terminal oturumunuz boyunca (veya <code>ssh-agent<\/code> \u00e7al\u0131\u015ft\u0131\u011f\u0131 s\u00fcrece), \u00f6zel anahtar\u0131n\u0131z\u0131n parolas\u0131n\u0131 tekrar girmeden SSH ba\u011flant\u0131lar\u0131 kurabilirsiniz.<\/p>\n<p><strong><code>ssh-agent<\/code>'\u0131 Otomatik Ba\u015flatma:<\/strong><br \/>\n<code>ssh-agent<\/code>'\u0131 her terminal oturumunda manuel olarak ba\u015flatmak yerine, kabuk yap\u0131land\u0131rma dosyan\u0131za (\u00f6rn: <code>~\/.bashrc<\/code>, <code>~\/.zshrc<\/code>) ekleyerek otomatik olarak ba\u015flat\u0131lmas\u0131n\u0131 sa\u011flayabilirsiniz.<\/p>\n<p>A\u015fa\u011f\u0131daki kod blo\u011funu dosyan\u0131z\u0131n sonuna ekleyin:<\/p>\n<pre><code class=\"language-bash\"># Start ssh-agent if not already running\nif [ -z \"$SSH_AUTH_SOCK\" ]; then\n    eval \"$(ssh-agent -s)\"\nfi\n\n<h2>Add SSH keys to agent if not already added<\/h2>\n<h2>You might want to be more specific here, e.g., ssh-add ~\/.ssh\/id_ed25519<\/h2>\nssh-add -l &>\/dev\/null || ssh-add<\/code><\/pre>\n<p>Bu kod, <code>ssh-agent<\/code>'\u0131n zaten \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 kontrol eder ve \u00e7al\u0131\u015fm\u0131yorsa ba\u015flat\u0131r. Ard\u0131ndan, zaten eklenmemi\u015f anahtarlar\u0131 <code>ssh-agent<\/code>'a eklemeye \u00e7al\u0131\u015f\u0131r. De\u011fi\u015fikliklerin etkili olmas\u0131 i\u00e7in terminalinizi yeniden ba\u015flatman\u0131z veya <code>source ~\/.bashrc<\/code> (veya <code>~\/.zshrc<\/code>) komutunu \u00e7al\u0131\u015ft\u0131rman\u0131z gerekebilir.<\/p>\n<h3>SSH Yap\u0131land\u0131rma Dosyas\u0131 (<code>~\/.ssh\/config<\/code>)<\/h3>\n<p><code>~\/.ssh\/config<\/code> dosyas\u0131, SSH ba\u011flant\u0131lar\u0131n\u0131z\u0131 \u00f6zelle\u015ftirmek ve basitle\u015ftirmek i\u00e7in g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r. Bu dosya sayesinde sunuculara takma adlar atayabilir, varsay\u0131lan kullan\u0131c\u0131 adlar\u0131n\u0131, \u00f6zel anahtar dosyalar\u0131n\u0131, port numaralar\u0131n\u0131 ve di\u011fer bir\u00e7ok se\u00e7ene\u011fi belirleyebilirsiniz.<\/p>\n<p>Bir metin d\u00fczenleyiciyle <code>~\/.ssh\/config<\/code> dosyas\u0131n\u0131 a\u00e7\u0131n (e\u011fer yoksa olu\u015fturun):<\/p>\n<pre><code class=\"language-bash\">nano ~\/.ssh\/config<\/code><\/pre>\n<p>\u00d6rnek bir yap\u0131land\u0131rma:<\/p>\n<pre><code class=\"language-\">Host myserver\n    Hostname 192.168.1.100\n    User myuser\n    Port 2222\n    IdentityFile ~\/.ssh\/id_ed25519\n    IdentitiesOnly yes\n    ForwardAgent yes\n\nHost github.com\n    Hostname github.com\n    User git\n    IdentityFile ~\/.ssh\/id_github_ed25519\n    IdentitiesOnly yes\n    ForwardAgent yes\n\nHost *\n    # T\u00fcm hostlar i\u00e7in varsay\u0131lan ayarlar\n    # Sunucuya ilk ba\u011flant\u0131da parmak izini kaydet\n    StrictHostKeyChecking ask\n    # Varsay\u0131lan olarak 5 dakika sonra ba\u011flant\u0131y\u0131 canl\u0131 tut\n    ServerAliveInterval 300<\/code><\/pre>\n<p><strong>A\u00e7\u0131klamalar:<\/strong><\/p>\n<p>*   <strong><code>Host myserver<\/code><\/strong>: Bu, sunucuya ba\u011flan\u0131rken kullanaca\u011f\u0131n\u0131z takma add\u0131r. Art\u0131k <code>ssh 192.168.1.100 -p 2222 -l myuser -i ~\/.ssh\/id_ed25519<\/code> yerine sadece <code>ssh myserver<\/code> yazman\u0131z yeterli olacakt\u0131r.<br \/>\n*   <strong><code>Hostname 192.168.1.100<\/code><\/strong>: Uzak sunucunun ger\u00e7ek IP adresi veya alan ad\u0131.<br \/>\n*   <strong><code>User myuser<\/code><\/strong>: Uzak sunucuya ba\u011flanmak i\u00e7in kullan\u0131lacak kullan\u0131c\u0131 ad\u0131.<br \/>\n*   <strong><code>Port 2222<\/code><\/strong>: Uzak sunucunun SSH servisi i\u00e7in kulland\u0131\u011f\u0131 port numaras\u0131 (varsay\u0131lan 22'den farkl\u0131ysa).<br \/>\n*   <strong><code>IdentityFile ~\/.ssh\/id_ed25519<\/code><\/strong>: Bu host i\u00e7in kullan\u0131lacak \u00f6zel anahtar dosyas\u0131n\u0131n yolu.<br \/>\n*   <strong><code>IdentitiesOnly yes<\/code><\/strong>: SSH istemcisinin bu host i\u00e7in yaln\u0131zca <code>IdentityFile<\/code> ile belirtilen anahtar\u0131 kullanmaya \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar. Bu, gereksiz anahtar denemelerini \u00f6nler ve ba\u011flant\u0131 s\u00fcresini h\u0131zland\u0131r\u0131r.<br \/>\n*   <strong><code>ForwardAgent yes<\/code><\/strong>: <code>ssh-agent<\/code>'\u0131 uzak sunucuya iletir. Bu, uzak sunucudan ba\u015fka bir sunucuya ba\u011flanman\u0131z gerekti\u011finde (\u00f6rn: Git depolar\u0131 i\u00e7in) anahtar\u0131n\u0131z\u0131 tekrar girmeden ba\u011flant\u0131 kurman\u0131z\u0131 sa\u011flar.<br \/>\n<em>   <strong><code>Host <\/em><\/code><\/strong>: T\u00fcm hostlar i\u00e7in ge\u00e7erli olacak varsay\u0131lan ayarlar\u0131 tan\u0131mlar.<br \/>\n*   <strong><code>StrictHostKeyChecking ask<\/code><\/strong>: \u0130lk ba\u011flant\u0131da sunucu parmak izini sorar ve <code>known_hosts<\/code>'a kaydeder.<br \/>\n*   <strong><code>ServerAliveInterval 300<\/code><\/strong>: Ba\u011flant\u0131n\u0131n aktif kalmas\u0131 i\u00e7in her 300 saniyede bir bo\u015f paket g\u00f6nderir.<\/p>\n<p><code>~\/.ssh\/config<\/code> dosyas\u0131n\u0131 kaydettikten sonra, art\u0131k takma adlar\u0131 kullanarak kolayca ba\u011flanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">ssh myserver\nssh github.com<\/code><\/pre>\n<h3>Anahtar G\u00fcvenli\u011fi ve En \u0130yi Uygulamalar<\/h3>\n<p>SSH anahtarlar\u0131n\u0131n g\u00fcvenli\u011fi, parola tabanl\u0131 kimlik do\u011frulamadan daha iyi olsa da, do\u011fru \u015fekilde y\u00f6netilmedi\u011finde riskler ta\u015f\u0131yabilir. \u0130\u015fte dikkat etmeniz gereken en iyi uygulamalar:<\/p>\n<p>*   <strong>\u00d6zel anahtar\u0131n\u0131z\u0131 asla payla\u015fmay\u0131n:<\/strong> \u00d6zel anahtar\u0131n\u0131z, dijital kimli\u011finiz gibidir. Kimseyle payla\u015fmay\u0131n ve g\u00fcvenli bir yerde saklay\u0131n.<br \/>\n*   <strong>Her zaman g\u00fc\u00e7l\u00fc bir parola (passphrase) kullan\u0131n:<\/strong> \u00d6zel anahtar\u0131n\u0131z\u0131 bir parola ile korumak, \u00e7al\u0131nmas\u0131 durumunda bile yetkisiz eri\u015fimi engeller. Bu parola, uzun ve karma\u015f\u0131k olmal\u0131d\u0131r.<br \/>\n*   <strong>Anahtar dosyalar\u0131n\u0131n izinlerini kontrol edin:<\/strong> \u00d6zel anahtar\u0131n\u0131z\u0131n izinleri <code>600<\/code> (<code>-rw-------<\/code>) olmal\u0131, yani sadece siz okuyabilir ve yazabilirsiniz. <code>~\/.ssh<\/code> dizininin izinleri <code>700<\/code> (<code>drwx------<\/code>) olmal\u0131d\u0131r.<br \/>\n*   <strong>Kullan\u0131lmayan anahtarlar\u0131 silin:<\/strong> Art\u0131k kullanmad\u0131\u011f\u0131n\u0131z veya s\u00fcresi dolmu\u015f anahtarlar\u0131 hem yerel sisteminizden (<code>~\/.ssh\/<\/code>) hem de uzak sunuculardaki <code>authorized_keys<\/code> dosyalar\u0131ndan silin.<br \/>\n*   <strong>Anahtarlar\u0131 d\u00fczenli olarak de\u011fi\u015ftirin (rotasyon):<\/strong> \u00d6zellikle y\u00fcksek g\u00fcvenlik gerektiren ortamlarda, anahtarlar\u0131n\u0131z\u0131 belirli aral\u0131klarla (\u00f6rn: y\u0131lda bir) yenilemek iyi bir uygulamad\u0131r.<br \/>\n*   <strong><code>ssh-agent<\/code>'\u0131 ak\u0131ll\u0131ca kullan\u0131n:<\/strong> <code>ssh-agent<\/code>, kolayl\u0131k sa\u011flarken, agent'\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131 makinenin g\u00fcvenli oldu\u011fundan emin olun. Agent'\u0131n iletilmesini (<code>ForwardAgent<\/code>) yaln\u0131zca g\u00fcvendi\u011finiz sunuculara yap\u0131n.<br \/>\n*   <strong>Donan\u0131m anahtarlar\u0131yla \u00e7ok fakt\u00f6rl\u00fc kimlik do\u011frulama (MFA):<\/strong> YubiKey gibi FIDO\/U2F uyumlu donan\u0131m anahtarlar\u0131yla SSH anahtarlar\u0131n\u0131z\u0131 daha da g\u00fc\u00e7lendirebilirsiniz. <code>ssh-keygen -t ed25519-sk<\/code> veya <code>ssh-keygen -t ecdsa-sk<\/code> komutlar\u0131 bu t\u00fcr anahtarlar\u0131 olu\u015fturman\u0131za olanak tan\u0131r.<br \/>\n*   <strong>Genel anahtarlar\u0131n\u0131z\u0131 sadece ihtiya\u00e7 duyulan sunuculara ekleyin:<\/strong> Her sunucuya ayn\u0131 genel anahtar\u0131 eklemek yerine, yaln\u0131zca ilgili sunucuya eri\u015fmesi gereken anahtar\u0131 ekleyin.<\/p>\n<h3>SSH Anahtar\u0131 Y\u00f6netimi ve Sorun Giderme<\/h3>\n<p>SSH anahtarlar\u0131yla \u00e7al\u0131\u015f\u0131rken kar\u015f\u0131la\u015fabilece\u011finiz baz\u0131 yayg\u0131n durumlar ve sorun giderme ipu\u00e7lar\u0131:<\/p>\n<h4>Mevcut Anahtarlar\u0131 Listeleme<\/h4>\n<p><code>ssh-agent<\/code>'a y\u00fcklenmi\u015f anahtarlar\u0131 listelemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">ssh-add -l<\/code><\/pre>\n<p>Bu, anahtarlar\u0131n\u0131z\u0131n parmak izlerini ve yorumlar\u0131n\u0131 g\u00f6sterir.<\/p>\n<h4>Anahtar Parmak \u0130zini Alma<\/h4>\n<p>Bir genel anahtar dosyas\u0131n\u0131n parmak izini almak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">ssh-keygen -lf ~\/.ssh\/id_ed25519.pub<\/code><\/pre>\n<p>Bu, <code>known_hosts<\/code> dosyas\u0131ndaki parmak izleriyle kar\u015f\u0131la\u015ft\u0131rmak i\u00e7in faydal\u0131 olabilir.<\/p>\n<h4>Passphrase De\u011fi\u015ftirme<\/h4>\n<p>Mevcut bir \u00f6zel anahtar\u0131n parolas\u0131n\u0131 de\u011fi\u015ftirmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">ssh-keygen -p -f ~\/.ssh\/id_ed25519<\/code><\/pre>\n<p>\u00d6nce mevcut parolan\u0131z\u0131, ard\u0131ndan yeni parolan\u0131z\u0131 girmeniz istenecektir.<\/p>\n<h4>Passphrase'i Kald\u0131rma (\u00d6nerilmez)<\/h4>\n<p>\u00d6zel anahtar\u0131n\u0131zdan parolay\u0131 kald\u0131rmak i\u00e7in ayn\u0131 komutu kullanabilir, ancak yeni parola istendi\u011finde bo\u015f b\u0131rakabilirsiniz. <strong>Bu g\u00fcvenlik a\u00e7\u0131s\u0131ndan \u00f6nerilmez.<\/strong><\/p>\n<pre><code class=\"language-bash\">ssh-keygen -p -f ~\/.ssh\/id_ed25519<\/code><\/pre>\n<p>Mevcut parolay\u0131 girin, yeni parola istendi\u011finde iki kez Enter tu\u015funa bas\u0131n.<\/p>\n<h4>S\u0131k Kar\u015f\u0131la\u015f\u0131lan Sorunlar<\/h4>\n<p>*   <strong><code>Permissions 0644 for 'private_key' are too open.<\/code><\/strong><br \/>\n    Bu hata, \u00f6zel anahtar dosyan\u0131z\u0131n izinlerinin \u00e7ok a\u00e7\u0131k oldu\u011funu g\u00f6sterir. SSH istemcisi, anahtar\u0131n\u0131z\u0131n g\u00fcvenli\u011finden emin olamad\u0131\u011f\u0131 i\u00e7in onu kullanmay\u0131 reddeder.<br \/>\n    <strong>\u00c7\u00f6z\u00fcm:<\/strong> <code>chmod 600 ~\/.ssh\/id_ed25519<\/code> komutunu kullanarak izinleri d\u00fczeltin.<\/p>\n<p>*   <strong><code>Agent admitted failure to sign using the key.<\/code><\/strong><br \/>\n    Bu genellikle <code>ssh-agent<\/code>'a anahtar\u0131n do\u011fru \u015fekilde eklenmedi\u011fi veya anahtar\u0131n parolas\u0131n\u0131n yanl\u0131\u015f girildi\u011fi anlam\u0131na gelir.<br \/>\n    <strong>\u00c7\u00f6z\u00fcm:<\/strong> <code>ssh-add -D<\/code> ile t\u00fcm anahtarlar\u0131 agent'tan kald\u0131r\u0131n ve <code>ssh-add ~\/.ssh\/id_ed25519<\/code> ile anahtar\u0131n\u0131z\u0131 tekrar ekleyin, parolas\u0131n\u0131 do\u011fru girdi\u011finizden emin olun.<\/p>\n<p>*   <strong><code>No such file or directory<\/code><\/strong><br \/>\n    Belirtilen anahtar dosyas\u0131n\u0131n veya yap\u0131land\u0131rma dosyas\u0131n\u0131n bulunamad\u0131\u011f\u0131 anlam\u0131na gelir.<br \/>\n    <strong>\u00c7\u00f6z\u00fcm:<\/strong> Dosya yolunu do\u011fru yazd\u0131\u011f\u0131n\u0131zdan ve dosyan\u0131n ger\u00e7ekten o konumda oldu\u011fundan emin olun.<\/p>\n<p>*   <strong><code>Connection refused<\/code><\/strong><br \/>\n    Uzak sunucunun SSH ba\u011flant\u0131s\u0131n\u0131 reddetti\u011fi anlam\u0131na gelir. Bu genellikle sunucu taraf\u0131nda bir sorun (SSH servisi \u00e7al\u0131\u015fm\u0131yor, g\u00fcvenlik duvar\u0131 ba\u011flant\u0131y\u0131 engelliyor, yanl\u0131\u015f port) veya a\u011f sorunlar\u0131ndan kaynaklan\u0131r.<br \/>\n    <strong>\u00c7\u00f6z\u00fcm:<\/strong> Sunucunun \u00e7al\u0131\u015f\u0131r durumda oldu\u011fundan, SSH servisi (<code>sshd<\/code>) etkin oldu\u011fundan ve g\u00fcvenlik duvar\u0131n\u0131n SSH portuna (varsay\u0131lan 22) izin verdi\u011finden emin olun.<\/p>\n<p>*   <strong><code>Authentication failed<\/code><\/strong><br \/>\n    SSH anahtar\u0131yla kimlik do\u011frulaman\u0131n ba\u015far\u0131s\u0131z oldu\u011fu anlam\u0131na gelir.<br \/>\n    <strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n    *   Do\u011fru \u00f6zel anahtar\u0131 kulland\u0131\u011f\u0131n\u0131zdan emin olun (<code>~\/.ssh\/config<\/code> dosyas\u0131n\u0131 kontrol edin veya <code>-i<\/code> se\u00e7ene\u011fiyle belirtin).<br \/>\n    *   Genel anahtar\u0131n\u0131z\u0131n uzak sunucudaki <code>~\/.ssh\/authorized_keys<\/code> dosyas\u0131na do\u011fru bir \u015fekilde kopyaland\u0131\u011f\u0131ndan ve dosya izinlerinin (<code>600<\/code>) do\u011fru oldu\u011fundan emin olun.<br \/>\n    *   Uzak sunucuda do\u011fru kullan\u0131c\u0131 ad\u0131yla ba\u011flanmaya \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131zdan emin olun (<code>ssh user@remote_host<\/code>).<br \/>\n    *   Sunucunun SSH yap\u0131land\u0131rmas\u0131nda parola tabanl\u0131 kimlik do\u011frulama devre d\u0131\u015f\u0131 b\u0131rak\u0131lm\u0131\u015f ancak anahtar tabanl\u0131 kimlik do\u011frulama do\u011fru ayarlanmam\u0131\u015f olabilir. Sunucu taraf\u0131ndaki <code>\/etc\/ssh\/sshd_config<\/code> dosyas\u0131n\u0131 kontrol edin (<code>PubkeyAuthentication yes<\/code> ve <code>AuthorizedKeysFile .ssh\/authorized_keys<\/code> ayarlar\u0131).<\/p>\n<p>*   <strong><code>ssh -v user@remote_host<\/code><\/strong>: Ba\u011flant\u0131 sorunlar\u0131n\u0131 gidermek i\u00e7in <code>ssh<\/code> komutuna <code>-v<\/code> (verbose) se\u00e7ene\u011fini ekleyerek daha ayr\u0131nt\u0131l\u0131 hata ay\u0131klama \u00e7\u0131kt\u0131lar\u0131 alabilirsiniz. Bu \u00e7\u0131kt\u0131lar, ba\u011flant\u0131 s\u00fcrecinin hangi a\u015famas\u0131nda bir sorun oldu\u011funu anlaman\u0131za yard\u0131mc\u0131 olabilir.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>SSH anahtarlar\u0131, modern yaz\u0131l\u0131m geli\u015ftirme, sistem y\u00f6netimi ve bulut bili\u015fim ortamlar\u0131nda g\u00fcvenli ve verimli eri\u015fim sa\u011flaman\u0131n vazge\u00e7ilmez bir par\u00e7as\u0131d\u0131r. Bu makalede ele ald\u0131\u011f\u0131m\u0131z ad\u0131mlar\u0131 takip ederek, macOS, Linux veya WSL ortamlar\u0131n\u0131zda OpenSSH ile g\u00fc\u00e7l\u00fc anahtar \u00e7iftleri olu\u015fturabilir, bunlar\u0131 uzak sunucular\u0131n\u0131za g\u00fcvenli bir \u015fekilde da\u011f\u0131tabilir ve <code>ssh-agent<\/code> ile <code>~\/.ssh\/config<\/code> gibi ara\u00e7larla y\u00f6netimini kolayla\u015ft\u0131rabilirsiniz.<\/p>\n<p>Unutmay\u0131n ki g\u00fcvenlik, yaln\u0131zca do\u011fru ara\u00e7lar\u0131 kullanmakla kalmaz, ayn\u0131 zamanda bu ara\u00e7lar\u0131 en iyi uygulamalara uygun \u015fekilde yap\u0131land\u0131rmak ve y\u00f6netmekle de ilgilidir. \u00d6zel anahtarlar\u0131n\u0131z\u0131 her zaman koruyun, g\u00fc\u00e7l\u00fc parolalar kullan\u0131n ve anahtarlar\u0131n\u0131z\u0131 d\u00fczenli olarak g\u00f6zden ge\u00e7irin. Bu sayede, dijital altyap\u0131n\u0131z\u0131n g\u00fcvenli\u011fini \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131rabilir ve i\u015f ak\u0131\u015flar\u0131n\u0131z\u0131 daha verimli hale getirebilirsiniz. SSH anahtarlar\u0131n\u0131n sundu\u011fu kolayl\u0131k ve g\u00fcvenli\u011fi bir kez deneyimledikten sonra, parola tabanl\u0131 kimlik do\u011frulamaya geri d\u00f6nmek istemeyeceksiniz.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"OpenSSH ile macOS, Linux ve Windows Subsystem for Linux (WSL) \u00dczerinde SSH Anahtarlar\u0131 Olu\u015fturma\nSSH (Secure Shell) anahtarlar\u0131, sunuculara, Git","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":[241],"tags":[],"class_list":{"0":"post-33349","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-linux","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>OpenSSH ile macOS, Linux ve Windows Subsystem for Linux (WSL) \u00dczerinde SSH Anahtarlar\u0131 Olu\u015fturma - 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\/openssh-ile-macos-linux-ve-windows-subsystem-for-linux-wsl-uzerinde-ssh-anahtarlari-olusturma\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"OpenSSH ile macOS, Linux ve Windows Subsystem for Linux (WSL) \u00dczerinde SSH Anahtarlar\u0131 Olu\u015fturma\" \/>\n<meta property=\"og:description\" content=\"OpenSSH ile macOS, Linux ve Windows Subsystem for Linux (WSL) \u00dczerinde SSH Anahtarlar\u0131 Olu\u015fturma SSH (Secure Shell) anahtarlar\u0131, sunuculara, Git\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/openssh-ile-macos-linux-ve-windows-subsystem-for-linux-wsl-uzerinde-ssh-anahtarlari-olusturma\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-01T18:41:19+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=\"17 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/openssh-ile-macos-linux-ve-windows-subsystem-for-linux-wsl-uzerinde-ssh-anahtarlari-olusturma\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/openssh-ile-macos-linux-ve-windows-subsystem-for-linux-wsl-uzerinde-ssh-anahtarlari-olusturma\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"OpenSSH ile macOS, Linux ve Windows Subsystem for Linux (WSL) \u00dczerinde SSH Anahtarlar\u0131 Olu\u015fturma\",\"datePublished\":\"2025-11-01T18:41:19+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/openssh-ile-macos-linux-ve-windows-subsystem-for-linux-wsl-uzerinde-ssh-anahtarlari-olusturma\/\"},\"wordCount\":3242,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Linux\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/openssh-ile-macos-linux-ve-windows-subsystem-for-linux-wsl-uzerinde-ssh-anahtarlari-olusturma\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/openssh-ile-macos-linux-ve-windows-subsystem-for-linux-wsl-uzerinde-ssh-anahtarlari-olusturma\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/openssh-ile-macos-linux-ve-windows-subsystem-for-linux-wsl-uzerinde-ssh-anahtarlari-olusturma\/\",\"name\":\"OpenSSH ile macOS, Linux ve Windows Subsystem for Linux (WSL) \u00dczerinde SSH Anahtarlar\u0131 Olu\u015fturma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-11-01T18:41:19+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/openssh-ile-macos-linux-ve-windows-subsystem-for-linux-wsl-uzerinde-ssh-anahtarlari-olusturma\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/openssh-ile-macos-linux-ve-windows-subsystem-for-linux-wsl-uzerinde-ssh-anahtarlari-olusturma\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/openssh-ile-macos-linux-ve-windows-subsystem-for-linux-wsl-uzerinde-ssh-anahtarlari-olusturma\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"OpenSSH ile macOS, Linux ve Windows Subsystem for Linux (WSL) \u00dczerinde SSH Anahtarlar\u0131 Olu\u015fturma\"}]},{\"@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":"OpenSSH ile macOS, Linux ve Windows Subsystem for Linux (WSL) \u00dczerinde SSH Anahtarlar\u0131 Olu\u015fturma - 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\/openssh-ile-macos-linux-ve-windows-subsystem-for-linux-wsl-uzerinde-ssh-anahtarlari-olusturma\/","og_locale":"tr_TR","og_type":"article","og_title":"OpenSSH ile macOS, Linux ve Windows Subsystem for Linux (WSL) \u00dczerinde SSH Anahtarlar\u0131 Olu\u015fturma","og_description":"OpenSSH ile macOS, Linux ve Windows Subsystem for Linux (WSL) \u00dczerinde SSH Anahtarlar\u0131 Olu\u015fturma SSH (Secure Shell) anahtarlar\u0131, sunuculara, Git","og_url":"https:\/\/fatihsoysal.com\/blog\/openssh-ile-macos-linux-ve-windows-subsystem-for-linux-wsl-uzerinde-ssh-anahtarlari-olusturma\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-11-01T18:41:19+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"17 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/openssh-ile-macos-linux-ve-windows-subsystem-for-linux-wsl-uzerinde-ssh-anahtarlari-olusturma\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/openssh-ile-macos-linux-ve-windows-subsystem-for-linux-wsl-uzerinde-ssh-anahtarlari-olusturma\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"OpenSSH ile macOS, Linux ve Windows Subsystem for Linux (WSL) \u00dczerinde SSH Anahtarlar\u0131 Olu\u015fturma","datePublished":"2025-11-01T18:41:19+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/openssh-ile-macos-linux-ve-windows-subsystem-for-linux-wsl-uzerinde-ssh-anahtarlari-olusturma\/"},"wordCount":3242,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Linux"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/openssh-ile-macos-linux-ve-windows-subsystem-for-linux-wsl-uzerinde-ssh-anahtarlari-olusturma\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/openssh-ile-macos-linux-ve-windows-subsystem-for-linux-wsl-uzerinde-ssh-anahtarlari-olusturma\/","url":"https:\/\/fatihsoysal.com\/blog\/openssh-ile-macos-linux-ve-windows-subsystem-for-linux-wsl-uzerinde-ssh-anahtarlari-olusturma\/","name":"OpenSSH ile macOS, Linux ve Windows Subsystem for Linux (WSL) \u00dczerinde SSH Anahtarlar\u0131 Olu\u015fturma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-11-01T18:41:19+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/openssh-ile-macos-linux-ve-windows-subsystem-for-linux-wsl-uzerinde-ssh-anahtarlari-olusturma\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/openssh-ile-macos-linux-ve-windows-subsystem-for-linux-wsl-uzerinde-ssh-anahtarlari-olusturma\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/openssh-ile-macos-linux-ve-windows-subsystem-for-linux-wsl-uzerinde-ssh-anahtarlari-olusturma\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"OpenSSH ile macOS, Linux ve Windows Subsystem for Linux (WSL) \u00dczerinde SSH Anahtarlar\u0131 Olu\u015fturma"}]},{"@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\/33349","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=33349"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/33349\/revisions"}],"predecessor-version":[{"id":33350,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/33349\/revisions\/33350"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=33349"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=33349"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=33349"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}