[{"data":1,"prerenderedAt":1113},["ShallowReactive",2],{"post-\u002Ftr\u002Froot-yetkisi-olmayan-kullanici-ssh-baglantisini-ssh-baglantisini-ssh-anahtari-ile-nasil-kurabilir":3},{"page":4,"translation":941,"nav":959,"related":1089,"random":1104},{"id":5,"title":6,"body":7,"categories":939,"category":941,"date":942,"description":943,"draft":944,"extension":945,"image":946,"kind":941,"lang":947,"meta":948,"navigation":778,"path":949,"readingTime":437,"seo":950,"slug":951,"stem":952,"tags":953,"translationKey":941,"type":940,"updated":957,"__hash__":958},"postsTr\u002Ftr\u002Froot-yetkisi-olmayan-kullanici-ssh-baglantisini-ssh-baglantisini-ssh-anahtari-ile-nasil-kurabilir.md","Root yetkisi olmayan kullanıcı, SSH bağlantısını, SSH anahtarı ile nasıl kurabilir?",{"type":8,"value":9,"toc":919},"minimark",[10,74,77,86,89,92,95,100,103,165,172,214,217,263,266,268,272,275,280,287,309,320,324,337,343,349,356,358,362,365,369,375,378,451,457,462,464,468,475,548,551,553,561,564,582,585,587,591,598,602,625,655,663,670,678,681,699,703,710,725,727,731,891,893,898,915],[11,12,13,21],"blockquote",{},[14,15,16,17],"p",{},"💡 ",[18,19,20],"strong",{},"Özet (TL;DR):",[22,23,24,36,50,60],"ul",{},[25,26,27,30,31,35],"li",{},[18,28,29],{},"Sorun:"," Yeni eklenen kullanıcılar, sunucu oluşturulurken tanımlanan ",[32,33,34],"code",{},"root"," kullanıcısının SSH anahtarıyla doğrudan giriş yapamazlar.",[25,37,38,41,42,45,46,49],{},[18,39,40],{},"Çözüm:"," Yeni kullanıcının ev dizininde ",[32,43,44],{},".ssh"," klasörü oluşturulmalı, izinleri ayarlanmalı ve genel anahtar (Public Key) bu dizin altındaki ",[32,47,48],{},"authorized_keys"," dosyasına eklenmelidir.",[25,51,52,55,56,59],{},[18,53,54],{},"En Kolay Yol:"," ",[32,57,58],{},"ssh-copy-id -i ~\u002F.ssh\u002Fid_ed25519.pub kullanici@sunucu_ip"," komutuyla tüm dizin oluşturma ve izin adımları otomatik tamamlanabilir.",[25,61,62,65,66,69,70,73],{},[18,63,64],{},"Kritik İpucu:"," Bağlantı başarısız oluyorsa, kullanıcının ev dizini ",[32,67,68],{},"\u002Fhome\u002Fkullanici"," yetkilerinin en fazla ",[32,71,72],{},"755"," olduğundan emin olun (StrictModes güvenlik kilidi).",[14,75,76],{},"Her ne kadar başlığı beğenmesem de, böyle teknik bir konuyu daha edebi ifade etmenin bir yolunu bulamadım.",[14,78,79,80,85],{},"Bugün ",[81,82,84],"a",{"href":83},"\u002Ftr\u002Fdigital-oceanda-vps-kurulumu","DigitalOcean'da VPS kurmak"," başlıklı bir yazı yazdım ve bundan sonraki yazılarda devamında yapılacakları işleyecektim, fakat başlıktaki konuyu ara bilgi olarak yazmamın faydalı olacağını düşündüm.",[14,87,88],{},"İster DigitalOcean, ister AWS'te olsun VPS'imize SSH anahtarı ile bağlantı kurmak çok zor değil; fakat \"Yeni bir kullanıcı açayım ve işlerimi root yetkisi olmadan yapayım\" veya \"Arkadaşıma da burada bir hesap açayım\" dediğinizde işler karışıyor. Yeni oluşturduğunuz kullanıcılar, VPS'i oluştururken kullandığınız SSH anahtarı ile doğrudan bağlantı sağlayamıyorlar.",[14,90,91],{},"Bu yazıda yeni bir kullanıcı oluşturup, SSH ile bağlantı kurabilmesini sağlayacağız.",[93,94],"hr",{},[96,97,99],"h2",{"id":98},"ubuntu-linuxta-yeni-kullanıcı-nasıl-oluşturulur","Ubuntu Linux'ta Yeni Kullanıcı Nasıl Oluşturulur?",[14,101,102],{},"Kullanılması gereken komut genel olarak şu şekildedir:",[104,105,110],"pre",{"className":106,"code":107,"language":108,"meta":109,"style":109},"language-bash shiki shiki-themes github-light github-dark","$ sudo useradd -s \u002Fpath\u002Fto\u002Fshell -d \u002Fhome\u002F{dirname} -m -G {secondary-group} {username}\n$ sudo passwd {username}\n","bash","",[32,111,112,153],{"__ignoreMap":109},[113,114,117,121,125,128,132,135,138,141,144,147,150],"span",{"class":115,"line":116},"line",1,[113,118,120],{"class":119},"sScJk","$",[113,122,124],{"class":123},"sZZnC"," sudo",[113,126,127],{"class":123}," useradd",[113,129,131],{"class":130},"sj4cs"," -s",[113,133,134],{"class":123}," \u002Fpath\u002Fto\u002Fshell",[113,136,137],{"class":130}," -d",[113,139,140],{"class":123}," \u002Fhome\u002F{dirname}",[113,142,143],{"class":130}," -m",[113,145,146],{"class":130}," -G",[113,148,149],{"class":123}," {secondary-group}",[113,151,152],{"class":123}," {username}\n",[113,154,156,158,160,163],{"class":115,"line":155},2,[113,157,120],{"class":119},[113,159,124],{"class":123},[113,161,162],{"class":123}," passwd",[113,164,152],{"class":123},[14,166,167,168,171],{},"Burada kullanıcı adıyla birlikte varsayılan kabuk (shell) tipini, kullanıcı ev dizinini ve varsa ikincil grubunu da tanımlıyoruz. Örnek olarak ",[32,169,170],{},"evrenbal"," kullanıcısını ekleyelim:",[104,173,175],{"className":106,"code":174,"language":108,"meta":109,"style":109},"$ sudo useradd -s \u002Fbin\u002Fbash -d \u002Fhome\u002Fevrenbal\u002F -m -G sudo evrenbal\n$ sudo passwd evrenbal\n",[32,176,177,204],{"__ignoreMap":109},[113,178,179,181,183,185,187,190,192,195,197,199,201],{"class":115,"line":116},[113,180,120],{"class":119},[113,182,124],{"class":123},[113,184,127],{"class":123},[113,186,131],{"class":130},[113,188,189],{"class":123}," \u002Fbin\u002Fbash",[113,191,137],{"class":130},[113,193,194],{"class":123}," \u002Fhome\u002Fevrenbal\u002F",[113,196,143],{"class":130},[113,198,146],{"class":130},[113,200,124],{"class":123},[113,202,203],{"class":123}," evrenbal\n",[113,205,206,208,210,212],{"class":115,"line":155},[113,207,120],{"class":119},[113,209,124],{"class":123},[113,211,162],{"class":123},[113,213,203],{"class":123},[14,215,216],{},"Buradaki parametrelerin anlamları:",[22,218,219,229,235,241,254],{},[25,220,221,224,225,228],{},[32,222,223],{},"-s \u002Fbin\u002Fbash",": ",[32,226,227],{},"\u002Fbin\u002Fbash"," yolundaki Bash shell'i varsayılan olarak atadık.",[25,230,231,234],{},[32,232,233],{},"-d \u002Fhome\u002Fevrenbal\u002F",": Kullanıcının ev (home) dizinini belirledik.",[25,236,237,240],{},[32,238,239],{},"-m",": Bu dizin hâlihazırda mevcut olmadığı için otomatik oluşturulmasını sağladık. (Eğer var olan bir dizin kullanılıyorsa gerek yoktur.)",[25,242,243,246,247,250,251,253],{},[32,244,245],{},"-G sudo",": Kullanıcıyı ",[32,248,249],{},"sudo"," grubuna ekledik. Böylece kullanıcımız ",[32,252,249],{}," komutunu kullanarak gerektiğinde yönetici yetkilerine erişim sağlayabilecek.",[25,255,256,259,260,262],{},[32,257,258],{},"passwd evrenbal",": Bu komutla ",[32,261,170],{}," kullanıcısı için bir şifre belirliyoruz.",[14,264,265],{},"Kullanıcımız oluşturuldu. Peki, SSH anahtarı ile bağlanmasını nasıl sağlayacağız?",[93,267],{},[96,269,271],{"id":270},"ssh-anahtarı-oluşturma","SSH Anahtarı Oluşturma",[14,273,274],{},"Bir kullanıcının SSH anahtarı ile bağlanabilmesi için öncelikle bir anahtar çifti (Public & Private Key) oluşturmanız gerekir. Bunun için iki popüler yol vardır:",[276,277,279],"h3",{"id":278},"a-komut-satırı-ile-linux-macos","A) Komut Satırı ile (Linux & macOS)",[14,281,282,283,286],{},"Terminal üzerinden modern, güvenli ve hızlı çalışan ",[18,284,285],{},"Ed25519"," algoritmasını kullanarak şu şekilde anahtar üretebilirsiniz:",[104,288,290],{"className":106,"code":289,"language":108,"meta":109,"style":109},"ssh-keygen -t ed25519 -C \"evren@evrenbal.com\"\n",[32,291,292],{"__ignoreMap":109},[113,293,294,297,300,303,306],{"class":115,"line":116},[113,295,296],{"class":119},"ssh-keygen",[113,298,299],{"class":130}," -t",[113,301,302],{"class":123}," ed25519",[113,304,305],{"class":130}," -C",[113,307,308],{"class":123}," \"evren@evrenbal.com\"\n",[14,310,311,312,315,316,319],{},"Bu komut size anahtarın nereye kaydedileceğini soracaktır. Varsayılan olarak ",[32,313,314],{},"~\u002F.ssh\u002Fid_ed25519"," (Private Key) ve ",[32,317,318],{},"~\u002F.ssh\u002Fid_ed25519.pub"," (Public Key) olarak oluşturulur.",[276,321,323],{"id":322},"b-görsel-arayüz-ile-windows-puttygen","B) Görsel Arayüz ile (Windows - PuTTYgen)",[14,325,326,327,336],{},"Eğer Windows kullanıyorsanız ve terminale aşina değilseniz ",[81,328,335],{"href":329,"rel":330,"target":334},"https:\u002F\u002Fwww.putty.org\u002F",[331,332,333],"nofollow","noopener","noreferrer","_blank","PuTTYgen"," uygulamasını kullanabilirsiniz.",[14,338,339],{},[340,341],"img",{"alt":109,"src":342},"\u002Fimages\u002Froot-yetkisi-olmayan-kullanici-ssh-baglantisini-ssh-baglantisini-ssh-anahtari-ile-nasil-kurabilir\u002Fimage-21.avif",[14,344,345],{},[346,347,348],"em",{},"PuTTYgen uygulamasında \"Generate\" butonuna basıp fareyi rastgele hareket ettirdiğinizde SSH anahtarınız oluşturulur.",[14,350,351,352,355],{},"Oluşan anahtarlardan ",[18,353,354],{},"Private Key"," dosyasını bilgisayarınıza güvenli bir yere kaydedin. Arayüzün üst kısmında yer alan genel anahtar metnini (Public Key) ise kopyalayıp sunucuya eklemek üzere hazırda tutun.",[93,357],{},[96,359,361],{"id":360},"sunucu-tarafında-ssh-yetkilendirmesi","Sunucu Tarafında SSH Yetkilendirmesi",[14,363,364],{},"Oluşturduğumuz anahtarı sunucuya tanıtmak için 3 farklı yöntem izleyebiliriz:",[276,366,368],{"id":367},"_1-yöntem-mevcut-anahtarı-kopyalamak-kolay-yöntem","1. Yöntem: Mevcut Anahtarı Kopyalamak (Kolay Yöntem)",[14,370,371,372,374],{},"Bu yöntemde yeni bir anahtar üretmek yerine, sunucuda hâlihazırda ",[32,373,34],{}," (veya varsayılan) kullanıcısı için kullanılan ve bilgisayarınızda zaten mevcut olan özel anahtarı (Private Key) yeni kullanıcı için de geçerli kılıyoruz.",[14,376,377],{},"Root kullanıcısının (veya SSH anahtarı ile bağlanmaya yetkili kullanıcının) ev dizinindeyken şu komutları çalıştırın:",[104,379,381],{"className":106,"code":380,"language":108,"meta":109,"style":109},"sudo mkdir \u002Fhome\u002Fevrenbal\u002F.ssh\u002F\nsudo cp .ssh\u002F* \u002Fhome\u002Fevrenbal\u002F.ssh\nsudo chmod 700 \u002Fhome\u002Fevrenbal\u002F.ssh\nsudo chmod 600 \u002Fhome\u002Fevrenbal\u002F.ssh\u002Fauthorized_keys\nsudo chown -R evrenbal:evrenbal \u002Fhome\u002Fevrenbal\u002F.ssh\u002F\n",[32,382,383,393,409,422,435],{"__ignoreMap":109},[113,384,385,387,390],{"class":115,"line":116},[113,386,249],{"class":119},[113,388,389],{"class":123}," mkdir",[113,391,392],{"class":123}," \u002Fhome\u002Fevrenbal\u002F.ssh\u002F\n",[113,394,395,397,400,403,406],{"class":115,"line":155},[113,396,249],{"class":119},[113,398,399],{"class":123}," cp",[113,401,402],{"class":123}," .ssh\u002F",[113,404,405],{"class":130},"*",[113,407,408],{"class":123}," \u002Fhome\u002Fevrenbal\u002F.ssh\n",[113,410,412,414,417,420],{"class":115,"line":411},3,[113,413,249],{"class":119},[113,415,416],{"class":123}," chmod",[113,418,419],{"class":130}," 700",[113,421,408],{"class":123},[113,423,425,427,429,432],{"class":115,"line":424},4,[113,426,249],{"class":119},[113,428,416],{"class":123},[113,430,431],{"class":130}," 600",[113,433,434],{"class":123}," \u002Fhome\u002Fevrenbal\u002F.ssh\u002Fauthorized_keys\n",[113,436,438,440,443,446,449],{"class":115,"line":437},5,[113,439,249],{"class":119},[113,441,442],{"class":123}," chown",[113,444,445],{"class":130}," -R",[113,447,448],{"class":123}," evrenbal:evrenbal",[113,450,392],{"class":123},[14,452,453,454,456],{},"Bu komutlarla geçerli SSH anahtarını yeni kullanıcının dizinine kopyaladık, izinleri ayarladık ve sahiplik bilgisini güncelledik. Artık root için kullandığınız SSH özel anahtarı ile ",[32,455,170],{}," kullanıcısına da bağlanabilirsiniz.",[14,458,459],{},[346,460,461],{},"(Not: Hesabı kendiniz dışında bir başkası için açıyorsanız bu yöntem güvenli değildir.)",[93,463],{},[276,465,467],{"id":466},"_2-yöntem-yeni-anahtarı-manuel-tanımlamak-manuel-yöntem","2. Yöntem: Yeni Anahtarı Manuel Tanımlamak (Manuel Yöntem)",[14,469,470,471,474],{},"PuTTYgen ile veya terminalde ürettiğiniz genel anahtarı (Public Key) yeni kullanıcının ",[32,472,473],{},".ssh\u002Fauthorized_keys"," dosyasına manuel olarak ekleyebilirsiniz:",[104,476,478],{"className":106,"code":477,"language":108,"meta":109,"style":109},"$ sudo mkdir \u002Fhome\u002Fevrenbal\u002F.ssh\u002F\n$ sudo chmod 0700 \u002Fhome\u002Fevrenbal\u002F.ssh\u002F\n$ sudo -- sh -c \"echo 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA...' > \u002Fhome\u002Fevrenbal\u002F.ssh\u002Fauthorized_keys\"\n$ sudo chmod 0600 \u002Fhome\u002Fevrenbal\u002F.ssh\u002Fauthorized_keys\n$ sudo chown -R evrenbal:evrenbal \u002Fhome\u002Fevrenbal\u002F.ssh\u002F\n",[32,479,480,490,503,521,534],{"__ignoreMap":109},[113,481,482,484,486,488],{"class":115,"line":116},[113,483,120],{"class":119},[113,485,124],{"class":123},[113,487,389],{"class":123},[113,489,392],{"class":123},[113,491,492,494,496,498,501],{"class":115,"line":155},[113,493,120],{"class":119},[113,495,124],{"class":123},[113,497,416],{"class":123},[113,499,500],{"class":130}," 0700",[113,502,392],{"class":123},[113,504,505,507,509,512,515,518],{"class":115,"line":411},[113,506,120],{"class":119},[113,508,124],{"class":123},[113,510,511],{"class":130}," --",[113,513,514],{"class":123}," sh",[113,516,517],{"class":130}," -c",[113,519,520],{"class":123}," \"echo 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA...' > \u002Fhome\u002Fevrenbal\u002F.ssh\u002Fauthorized_keys\"\n",[113,522,523,525,527,529,532],{"class":115,"line":424},[113,524,120],{"class":119},[113,526,124],{"class":123},[113,528,416],{"class":123},[113,530,531],{"class":130}," 0600",[113,533,434],{"class":123},[113,535,536,538,540,542,544,546],{"class":115,"line":437},[113,537,120],{"class":119},[113,539,124],{"class":123},[113,541,442],{"class":123},[113,543,445],{"class":130},[113,545,448],{"class":123},[113,547,392],{"class":123},[14,549,550],{},"Kopyaladığınız genel anahtar içeriğini tırnak işaretlerinin içine yazarak komutu çalıştırabilirsiniz.",[93,552],{},[276,554,556,557,560],{"id":555},"_3-yöntem-ssh-copy-id-ile-otomatik-göndermek-en-pratik-yöntem","3. Yöntem: ",[32,558,559],{},"ssh-copy-id"," ile Otomatik Göndermek (En Pratik Yöntem)",[14,562,563],{},"Eğer istemci makineniz Linux veya macOS ise, yukarıdaki tüm klasör oluşturma, kopyalama ve izin yönetimi adımlarını tek satırda gerçekleştirebilirsiniz:",[104,565,567],{"className":106,"code":566,"language":108,"meta":109,"style":109},"ssh-copy-id -i ~\u002F.ssh\u002Fid_ed25519.pub evrenbal@sunucu_ip\n",[32,568,569],{"__ignoreMap":109},[113,570,571,573,576,579],{"class":115,"line":116},[113,572,559],{"class":119},[113,574,575],{"class":130}," -i",[113,577,578],{"class":123}," ~\u002F.ssh\u002Fid_ed25519.pub",[113,580,581],{"class":123}," evrenbal@sunucu_ip\n",[14,583,584],{},"Bu komutu çalıştırdığınızda sizden bir defalık kullanıcının şifresini isteyecek, ardından genel anahtarınızı sunucuya güvenle ekleyecektir.",[93,586],{},[96,588,590],{"id":589},"olası-bağlantı-hataları-ve-çözümleri","Olası Bağlantı Hataları ve Çözümleri",[14,592,593,594,597],{},"Bütün adımları uyguladığınız halde bağlantı kurarken ",[32,595,596],{},"Permission denied (publickey)"," hatası alıyorsanız aşağıdaki iki kritik noktayı kontrol etmelisiniz:",[276,599,601],{"id":600},"a-ev-dizini-i̇zinleri-strictmodes-hatası","A) Ev Dizini İzinleri (StrictModes Hatası)",[14,603,604,605,608,609,612,613,616,617,620,621,624],{},"SSH sunucusu (",[32,606,607],{},"sshd","), güvenlik amacıyla kullanıcının ana ev dizininin (",[32,610,611],{},"\u002Fhome\u002Fkullanici_adi",") dışarıdan yazılabilir olmasını engeller (",[32,614,615],{},"StrictModes","). Eğer ev dizininizin yetkileri yanlışlıkla ",[32,618,619],{},"777"," veya ",[32,622,623],{},"775"," yapılmışsa SSH bağlantısı sessizce reddedilir.",[22,626,627],{},[25,628,629,631,632,620,634,637,638],{},[18,630,40],{}," Ev dizininin yetkisini ",[32,633,72],{},[32,635,636],{},"750"," olarak sınırlandırın:\n",[104,639,641],{"className":106,"code":640,"language":108,"meta":109,"style":109},"sudo chmod 750 \u002Fhome\u002Fevrenbal\n",[32,642,643],{"__ignoreMap":109},[113,644,645,647,649,652],{"class":115,"line":116},[113,646,249],{"class":119},[113,648,416],{"class":123},[113,650,651],{"class":130}," 750",[113,653,654],{"class":123}," \u002Fhome\u002Fevrenbal\n",[276,656,658,659,662],{"id":657},"b-ssh-daemon-yapılandırması-sshd_config","B) SSH Daemon Yapılandırması (",[32,660,661],{},"sshd_config",")",[14,664,665,666,669],{},"Sunucuda anahtar ile kimlik doğrulamanın açık olduğundan emin olun. ",[32,667,668],{},"\u002Fetc\u002Fssh\u002Fsshd_config"," dosyasında şu satırların aktif olduğunu doğrulayın:",[104,671,676],{"className":672,"code":674,"language":675,"meta":109},[673],"language-text","PubkeyAuthentication yes\nAuthorizedKeysFile .ssh\u002Fauthorized_keys\n","text",[32,677,674],{"__ignoreMap":109},[14,679,680],{},"Değişiklik yaparsanız SSH servisini yeniden başlatmayı unutmayın:",[104,682,684],{"className":106,"code":683,"language":108,"meta":109,"style":109},"sudo systemctl restart sshd\n",[32,685,686],{"__ignoreMap":109},[113,687,688,690,693,696],{"class":115,"line":116},[113,689,249],{"class":119},[113,691,692],{"class":123}," systemctl",[113,694,695],{"class":123}," restart",[113,697,698],{"class":123}," sshd\n",[276,700,702],{"id":701},"c-hata-ayıklama-debugging","C) Hata Ayıklama (Debugging)",[14,704,705,706,709],{},"Sorunun ne olduğunu detaylı incelemek isterseniz, istemci tarafında bağlantı komutunuza ",[32,707,708],{},"-v"," (verbose) parametresini ekleyerek arka planda dönen logları görebilirsiniz:",[104,711,713],{"className":106,"code":712,"language":108,"meta":109,"style":109},"ssh -v evrenbal@sunucu_ip\n",[32,714,715],{"__ignoreMap":109},[113,716,717,720,723],{"class":115,"line":116},[113,718,719],{"class":119},"ssh",[113,721,722],{"class":130}," -v",[113,724,581],{"class":123},[93,726],{},[276,728,730],{"id":729},"hızlı-komut-referansı-manuel-yöntem","Hızlı Komut Referansı (Manuel Yöntem)",[104,732,734],{"className":106,"code":733,"language":108,"meta":109,"style":109},"# 1. Kullanıcıyı ve ev dizinini oluşturun\nsudo useradd -s \u002Fbin\u002Fbash -d \u002Fhome\u002Fkullanici_adi\u002F -m -G sudo kullanici_adi\nsudo passwd kullanici_adi\n\n# 2. Ev dizini izinlerini StrictModes için sıkılaştırın\nsudo chmod 750 \u002Fhome\u002Fkullanici_adi\n\n# 3. SSH dizinini ve yetki dosyasını oluşturun\nsudo mkdir \u002Fhome\u002Fkullanici_adi\u002F.ssh\u002F\nsudo chmod 0700 \u002Fhome\u002Fkullanici_adi\u002F.ssh\u002F\n\n# 4. Genel anahtarı dosyaya yazıp izinleri 600 yapın\nsudo -- sh -c \"echo 'PUBLIC_KEY_ICERIGI' > \u002Fhome\u002Fkullanici_adi\u002F.ssh\u002Fauthorized_keys\"\nsudo chmod 0600 \u002Fhome\u002Fkullanici_adi\u002F.ssh\u002Fauthorized_keys\n\n# 5. Klasörün sahipliğini yeni kullanıcıya atayın\nsudo chown -R kullanici_adi:kullanici_adi \u002Fhome\u002Fkullanici_adi\u002F.ssh\u002F\n",[32,735,736,742,766,774,780,785,797,802,808,818,829,834,840,854,866,871,877],{"__ignoreMap":109},[113,737,738],{"class":115,"line":116},[113,739,741],{"class":740},"sJ8bj","# 1. Kullanıcıyı ve ev dizinini oluşturun\n",[113,743,744,746,748,750,752,754,757,759,761,763],{"class":115,"line":155},[113,745,249],{"class":119},[113,747,127],{"class":123},[113,749,131],{"class":130},[113,751,189],{"class":123},[113,753,137],{"class":130},[113,755,756],{"class":123}," \u002Fhome\u002Fkullanici_adi\u002F",[113,758,143],{"class":130},[113,760,146],{"class":130},[113,762,124],{"class":123},[113,764,765],{"class":123}," kullanici_adi\n",[113,767,768,770,772],{"class":115,"line":411},[113,769,249],{"class":119},[113,771,162],{"class":123},[113,773,765],{"class":123},[113,775,776],{"class":115,"line":424},[113,777,779],{"emptyLinePlaceholder":778},true,"\n",[113,781,782],{"class":115,"line":437},[113,783,784],{"class":740},"# 2. Ev dizini izinlerini StrictModes için sıkılaştırın\n",[113,786,788,790,792,794],{"class":115,"line":787},6,[113,789,249],{"class":119},[113,791,416],{"class":123},[113,793,651],{"class":130},[113,795,796],{"class":123}," \u002Fhome\u002Fkullanici_adi\n",[113,798,800],{"class":115,"line":799},7,[113,801,779],{"emptyLinePlaceholder":778},[113,803,805],{"class":115,"line":804},8,[113,806,807],{"class":740},"# 3. SSH dizinini ve yetki dosyasını oluşturun\n",[113,809,811,813,815],{"class":115,"line":810},9,[113,812,249],{"class":119},[113,814,389],{"class":123},[113,816,817],{"class":123}," \u002Fhome\u002Fkullanici_adi\u002F.ssh\u002F\n",[113,819,821,823,825,827],{"class":115,"line":820},10,[113,822,249],{"class":119},[113,824,416],{"class":123},[113,826,500],{"class":130},[113,828,817],{"class":123},[113,830,832],{"class":115,"line":831},11,[113,833,779],{"emptyLinePlaceholder":778},[113,835,837],{"class":115,"line":836},12,[113,838,839],{"class":740},"# 4. Genel anahtarı dosyaya yazıp izinleri 600 yapın\n",[113,841,843,845,847,849,851],{"class":115,"line":842},13,[113,844,249],{"class":119},[113,846,511],{"class":130},[113,848,514],{"class":123},[113,850,517],{"class":130},[113,852,853],{"class":123}," \"echo 'PUBLIC_KEY_ICERIGI' > \u002Fhome\u002Fkullanici_adi\u002F.ssh\u002Fauthorized_keys\"\n",[113,855,857,859,861,863],{"class":115,"line":856},14,[113,858,249],{"class":119},[113,860,416],{"class":123},[113,862,531],{"class":130},[113,864,865],{"class":123}," \u002Fhome\u002Fkullanici_adi\u002F.ssh\u002Fauthorized_keys\n",[113,867,869],{"class":115,"line":868},15,[113,870,779],{"emptyLinePlaceholder":778},[113,872,874],{"class":115,"line":873},16,[113,875,876],{"class":740},"# 5. Klasörün sahipliğini yeni kullanıcıya atayın\n",[113,878,880,882,884,886,889],{"class":115,"line":879},17,[113,881,249],{"class":119},[113,883,442],{"class":123},[113,885,445],{"class":130},[113,887,888],{"class":123}," kullanici_adi:kullanici_adi",[113,890,817],{"class":123},[93,892],{},[894,895,897],"h5",{"id":896},"bu-yazıda-yapılan-değişiklikler","Bu Yazıda Yapılan Değişiklikler",[22,899,900,903],{},[25,901,902],{},"11.05.2022: Yazı özeti düzenlendi.",[25,904,905,906,908,909,908,912,914],{},"20.06.2026: Anlatım iyileştirildi, ",[32,907,559],{},", ",[32,910,911],{},"ed25519",[32,913,615],{}," ev dizini izin çözümü ve hata ayıklama ipuçları eklendi.",[916,917,918],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":109,"searchDepth":155,"depth":155,"links":920},[921,922,926,932],{"id":98,"depth":155,"text":99},{"id":270,"depth":155,"text":271,"children":923},[924,925],{"id":278,"depth":411,"text":279},{"id":322,"depth":411,"text":323},{"id":360,"depth":155,"text":361,"children":927},[928,929,930],{"id":367,"depth":411,"text":368},{"id":466,"depth":411,"text":467},{"id":555,"depth":411,"text":931},"3. Yöntem: ssh-copy-id ile Otomatik Göndermek (En Pratik Yöntem)",{"id":589,"depth":155,"text":590,"children":933},[934,935,937,938],{"id":600,"depth":411,"text":601},{"id":657,"depth":411,"text":936},"B) SSH Daemon Yapılandırması (sshd_config)",{"id":701,"depth":411,"text":702},{"id":729,"depth":411,"text":730},[940],"technical",null,"2021-02-20","Root yetkisi olmayan kullanıcılar için SSH anahtarı üretimi, ssh-copy-id kullanımı, yetkilendirme ve StrictModes sorunlarının çözümü.",false,"md","\u002Fimages\u002Fhero\u002Fssh-key.avif","tr",{},"\u002Ftr\u002Froot-yetkisi-olmayan-kullanici-ssh-baglantisini-ssh-baglantisini-ssh-anahtari-ile-nasil-kurabilir",{"title":6,"description":943},"root-yetkisi-olmayan-kullanici-ssh-baglantisini-ssh-baglantisini-ssh-anahtari-ile-nasil-kurabilir","tr\u002Froot-yetkisi-olmayan-kullanici-ssh-baglantisini-ssh-baglantisini-ssh-anahtari-ile-nasil-kurabilir",[954,955,956],"devops","full-stack","ubuntu","2022-05-11","jih7zkLLHZh_RbfmKwZ9XN0zMrl8vInAiNzTCqokyMs",{"prev":960,"next":962,"others":965,"lucky":1086,"readingTime":437},{"path":83,"title":961},"DigitalOcean'da VPS (Droplet) Kurulumu: Adım Adım Rehber",{"path":963,"title":964},"\u002Ftr\u002Fubuntu-20-04-uzerinde-cyberpanel-kurulumu","Ubuntu 20.04 üzerinde CyberPanel kurulumu",[966,969,972,975,978,981,984,987,990,993,996,999,1002,1005,1008,1011,1014,1017,1020,1023,1026,1029,1032,1035,1038,1041,1044,1047,1050,1053,1056,1059,1062,1065,1068,1071,1074,1077,1080,1083],{"path":967,"title":968},"\u002Ftr\u002Fdocker-swarm-nedir","Docker Swarm Nedir?",{"path":970,"title":971},"\u002Ftr\u002Fes12-nedir-ecmascript-2021-nedir","ES12 Nedir? ECMAScript 2021 Nedir?",{"path":973,"title":974},"\u002Ftr\u002Fvite-nedir","Vite Nedir? Modern Web Geliştirme ve Paketleme Aracı",{"path":976,"title":977},"\u002Ftr\u002Fes13-nedir-ecmascript-2022-nedir","ES13 nedir? ECMAScript 2022 nedir?",{"path":979,"title":980},"\u002Ftr\u002Frest-api-kimlik-dogrulama-nasil-yapilir","REST API Kimlik Doğrulama Nasıl Yapılır?",{"path":982,"title":983},"\u002Ftr\u002Ftailwind-css-nerede-kullanilir-tailwind-css-nerede-kullanilmaz","Tailwind CSS Nerede Kullanılır? Tailwind CSS Nerede Kullanılmaz?",{"path":985,"title":986},"\u002Ftr\u002Flitespeed-web-server-performans-artisi","Konfor Alanından Çıkıp, Konforlu Bir VPS'e Geçmek: LiteSpeed Web Server",{"path":988,"title":989},"\u002Ftr\u002Ffactory-method-ve-abstract-factory-farki-nedir","Factory Method ve Abstract Factory Farkı Nedir?",{"path":991,"title":992},"\u002Ftr\u002Fbridge-tasarim-deseni-nedir","Bridge Tasarım Deseni Nedir?",{"path":994,"title":995},"\u002Ftr\u002Fcodeserver-nedir-codeserver-nasil-kurulur","Code-Server Nedir? Bulutta VS Code Geliştirme Ortamı Kurulumu",{"path":997,"title":998},"\u002Ftr\u002Fubuntu-guncellemesi-sonrasi-cyberpanele-ulasilamama-sorunlarini-giderme","Ubuntu Güncellemesi Sonrası CyberPanel'e Ulaşılamama Sorunlarını Giderme",{"path":1000,"title":1001},"\u002Ftr\u002Ftasarim-kaliplari-design-patterns-factory-method-nedir","Factory Method Tasarım Deseni Nedir?",{"path":1003,"title":1004},"\u002Ftr\u002Frabbitmq-nedir","RabbitMQ Nedir?",{"path":1006,"title":1007},"\u002Ftr\u002Fvisitor-tasarim-deseni-nedir","Visitor Tasarım Deseni Nedir?",{"path":1009,"title":1010},"\u002Ftr\u002Fgo-ve-degiskenler","Go ve Değişkenler",{"path":1012,"title":1013},"\u002Ftr\u002Fes11-nedir-ecmascript-2020-nedir","ES11 Nedir? ECMAScript 2020 Nedir?",{"path":1015,"title":1016},"\u002Ftr\u002Fdocker-ile-mariadb-kurulumu","Docker ile MariaDB Kurulumu",{"path":1018,"title":1019},"\u002Ftr\u002Fdocker-ile-rabbitmq-kurulumu","Docker ile RabbitMQ Kurulumu",{"path":1021,"title":1022},"\u002Ftr\u002Frestful-api-bilesenleri","RESTful API Bileşenleri",{"path":1024,"title":1025},"\u002Ftr\u002Fyeni-tema-honeywind","Yeni WordPress Temam Honeywind: Tailwind CSS ve Minimalizm",{"path":1027,"title":1028},"\u002Ftr\u002Fmerhaba-gluster","Merhaba Gluster: Dağıtık Dosya Sistemi Nedir?",{"path":1030,"title":1031},"\u002Ftr\u002Fdesign-patterns-tasarim-desenleri-nedir","Design Patterns \u002F Tasarım Desenleri nedir?",{"path":1033,"title":1034},"\u002Ftr\u002Fopenlitespeed-ve-litespeed-enterprisei-reverse-proxy-olarak-kullanmak","OpenLiteSpeed ve LiteSpeed Enterprise Sunucularını Reverse Proxy Olarak Kullanmak",{"path":1036,"title":1037},"\u002Ftr\u002Fes6-nedir-ecmascript-2015-nedir","ES6 Nedir? ECMAScript 2015 Nedir?",{"path":1039,"title":1040},"\u002Ftr\u002Fgraylog-nedir-docker-ile-nasil-kurulur","Graylog Nedir? Docker Compose ile Adım Adım Kurulum Rehberi",{"path":1042,"title":1043},"\u002Ftr\u002Fes8-nedir-ecmascript-2017-nedir","ES8 Nedir? ECMAScript 2017 Nedir?",{"path":1045,"title":1046},"\u002Ftr\u002Fgo-veri-tipleri-map","Go Veri Tipleri - Map",{"path":1048,"title":1049},"\u002Ftr\u002Fobserver-tasarim-deseni-nedir","Observer Tasarım Deseni Nedir?",{"path":1051,"title":1052},"\u002Ftr\u002Fcomposite-tasarim-deseni-nedir","Composite Tasarım Deseni Nedir?",{"path":1054,"title":1055},"\u002Ftr\u002Fself-hosted-api-gateway-nasil-kurulur-kapsamli-rehber","Self-Hosted API Gateway Nasıl Kurulur? Kapsamlı Rehber",{"path":1057,"title":1058},"\u002Ftr\u002Frest-api-guvenligi-nasil-saglanir","REST Api Güvenliği Nasıl Sağlanır?",{"path":1060,"title":1061},"\u002Ftr\u002Ffull-stack-proje-gelistiriyoruz","Full Stack Proje Geliştiriyoruz",{"path":1063,"title":1064},"\u002Ftr\u002Ffacade-tasarim-deseni-nedir","Facade Tasarım Deseni Nedir?",{"path":1066,"title":1067},"\u002Ftr\u002Fgoda-iota-nedir-iota-ne-zaman-ve-nerede-kullanilir","Go'da iota Nedir? iota Ne Zaman ve Nerede Kullanılır?",{"path":1069,"title":1070},"\u002Ftr\u002Fes5-nedir","ES5 Nedir? JavaScript Geliştiricileri İçin Kılavuz",{"path":1072,"title":1073},"\u002Ftr\u002Ftemplate-method-tasarim-deseni-nedir","Template Method Tasarım Deseni Nedir?",{"path":1075,"title":1076},"\u002Ftr\u002Fsingleton-tasarim-deseni-nedir","Singleton Tasarım Deseni Nedir?",{"path":1078,"title":1079},"\u002Ftr\u002Ftricolor-garbage-collection-algoritmasi-nedir","Tricolor Garbage Collection Algoritması Nedir?",{"path":1081,"title":1082},"\u002Ftr\u002Fgarbage-collection-ve-golang","Garbage Collection ve Go (Golang)",{"path":1084,"title":1085},"\u002Ftr\u002Fes14-nedir-ecmascript-2023-nedir","ES14 nedir? ECMAScript 2023 nedir?",{"path":1087,"title":1088},"\u002Ftr\u002Fstate-tasarim-deseni-nedir","State Tasarım Deseni Nedir?",[1090,1094,1098,1102],{"path":1091,"title":1092,"date":1093},"\u002Ftr\u002Fdocker-ve-portainer-kurulumu","Docker ve Portainer Kurulumu","2021-02-21",{"path":1095,"title":1096,"date":1097},"\u002Ftr\u002Fubuntu-24-04-uzerinde-cyberpanel-kurulumu","Ubuntu 24.04 LTS ve 22.04 LTS Üzerinde CyberPanel Kurulumu","2026-06-20",{"path":1099,"title":1100,"date":1101},"\u002Ftr\u002Fdocker-ile-redis-kurulumu","Docker ile Redis Kurulumu","2021-03-09",{"path":1015,"title":1016,"date":1103},"2021-03-01",[1105,1109,1111],{"path":1106,"title":1107,"date":1108},"\u002Ftr\u002Fes9-nedir-ecmascript-2018-nedir","ES9 Nedir? ECMAScript 2018 Nedir?","2021-10-19",{"path":1075,"title":1076,"date":1110},"2021-08-17",{"path":967,"title":968,"date":1112},"2021-01-19",1782142070843]