Ubuntu ile Başlangıç Sunucu Kurulumu
Giriş
Yeni bir Ubuntu sunucusu oluşturduğunuzda, ilk kurulumun bir parçası olarak bazı önemli yapılandırma adımlarını gerçekleştirmeniz gerekir. Bu adımlar, sunucunuzun güvenliğini ve kullanılabilirliğini artıracak ve sonraki işlemler için sağlam bir temel sağlayacaktır.
Bu öğretici, Ubuntu 22.04 LTS, 24.04 LTS ve 24.10 üzerinde doğrulanmıştır. Komutlar, mevcut ara sürümler ve apt, OpenSSH ve UFW varsayılanları ile birlikte gelecek 25.x sürümleri boyunca kararlı kalan varsayılan paketleri kullanır.
Ana Noktalar
- Root olarak giriş yapın: Ubuntu sunucunuza ilk kez güvenli bir şekilde nasıl erişeceğinizi öğrenin.
- Root olmayan bir kullanıcı oluşturun: Günlük root kullanımının güvenlik risklerini azaltmak için
sudoayrıcalıklarına sahip normal bir kullanıcı hesabı ekleyin. - SSH anahtarı kimlik doğrulamasını kurun: Güvenli ve şifresiz girişler için SSH anahtarlarını yapılandırın ve genel anahtarınızı yeni kullanıcıya kopyalayın.
- UFW ile güvenlik duvarını yapılandırın: Erişimi kısıtlamak için Basit Güvenlik Duvarı'nı (UFW) etkinleştirin ve test edin, kilitlenmeyi önlemek için SSH'nın açık kaldığından emin olun.
- Root oturumundan çıkmadan önce erişimi doğrulayın: Kilitlenmemek için root oturumunu kapatmadan önce yeni kullanıcınızın
sudokullanabildiğini ve SSH ile bağlanabildiğini doğrulayın. - En iyi uygulamalar birden fazla ortam için geçerlidir: Bu ilk adımlar bulut sanal makineleri, Droplet’ler, VPS ve donanım sunucuları için geçerlidir.
Linux-Console.net Uygulama Platformu'nu kullanarak uygulamalarınızı GitHub'dan dağıtın. Uygulamanızın ölçeklenmesiyle Linux-Console.net ilgilensin.
Ubuntu ile Başlangıç Sunucu Kurulumu
- Root olarak giriş yapılıyor
- Yeni Kullanıcı Oluşturma
- Yönetici Yetkisi Verme
- Güvenlik Duvarı Kurulumu
- Normal Kullanıcınız İçin Dış Erişimi Etkinleştirme
Adım 1 - Root olarak giriş yapma
Sunucunuza giriş yapmak için, sunucunuzun genel IP adresini bilmeniz gerekecek. Ayrıca, eğer kimlik doğrulama için bir SSH anahtarı kurduysanız, root kullanıcısının hesabı için şifreye veya özel anahtara da ihtiyacınız olacak. Eğer henüz sunucunuza giriş yapmadıysanız, bu süreci detaylı bir şekilde ele alan SSH ile Droplet’lere Bağlanma rehberimizi takip etmek isteyebilirsiniz.
Şu anda sunucunuza bağlı değilseniz, aşağıdaki komutu kullanarak root kullanıcısı olarak giriş yapın. Komuttaki vurgulanmış your_server_ip kısmını sunucunuzun genel IP adresi ile değiştirin:
ssh root@your_server_ipHost doğruluğu ile ilgili uyarıyı kabul edin eğer görünürse. Sunucunuz şifre ile kimlik doğrulama kullanıyorsa, giriş yapmak için root şifrenizi girin. Parola korumalı bir SSH anahtarı kullanıyorsanız, her oturumda anahtarı ilk kez kullandığınızda parolayı girmeniz gerekebilir. Sunucuya şifre ile ilk kez giriş yapıyorsanız, root şifresini değiştirmeniz de gerekebilir. Bir istem alırsanız şifreyi değiştirmek için talimatları izleyin.
Kök hakkında
Root kullanıcı, bir Linux ortamında yükseltilmiş ayrıcalıklara sahip yönetici kullanıcıdır. Root hesabının yüksek ayrıcalıkları nedeniyle, bunu düzenli olarak kullanmanız önerilmez. Root hesabı, kazara bile çok yıkıcı değişiklikler yapabilir.
Bir sonraki adım, günlük kullanım için sınırlı yetkilere sahip yeni bir kullanıcı hesabı oluşturmaktır. Daha sonra, ihtiyaç duyduğunuz zamanlarda geçici olarak artırılmış yetkilere nasıl sahip olacağınızı göstereceğiz.
Adım 2 - Yeni Kullanıcı Oluşturma
Bir kez root olarak giriş yaptıktan sonra, yeni kullanıcı hesabını ekleyebileceksiniz. Gelecekte, root yerine bu yeni hesapla giriş yapacağız.
Bu örnek, sammy adlı yeni bir kullanıcı oluşturur, ancak bunu tercih ettiğiniz bir kullanıcı adıyla değiştirmelisiniz:
adduser sammySize birkaç soru sorulacak, hesap şifresiyle başlayarak.
Güçlü bir şifre girin ve isteğe bağlı olarak eklemek istediğiniz diğer bilgileri doldurun. Bu bilgiler gerekli değildir ve atlamak istediğiniz herhangi bir alanda ENTER tuşuna basabilirsiniz.
Adım 3 - Yönetici Yetkilerini Verme
Şimdi normal hesap ayrıcalıklarına sahip yeni bir kullanıcı hesabınız var. Ancak bazen root kullanıcısı olarak yönetici görevlerini yerine getirmeniz gerekecek.
Normal kullanıcı hesabınızdan çıkış yapıp root hesabına tekrar giriş yapmak yerine, kullanıcınızın normal hesabı için süper kullanıcı veya root ayrıcalıkları olarak bilinen ayarları yapabilirsiniz. Bu ayrıcalıklar, normal kullanıcınızın bir komutu çalıştırmadan önce sudo kelimesini koyarak yönetici yetkileriyle komutları çalıştırmasını sağlar.
Bu ayrıcalıkları yeni kullanıcıya eklemek için, kullanıcıyı sudo sistem grubuna eklemeniz gerekecek. Ubuntu'da varsayılan olarak, sudo grubunun üyesi olan kullanıcıların sudo komutunu kullanmasına izin verilir.
root olarak, yeni kullanıcıyı sudo grubuna eklemek için bu komutu çalıştırın (vurgulanan sammy kullanıcı adını yeni kullanıcı adınızla değiştirin):
usermod -aG sudo sammyArtık normal kullanıcı olarak giriş yaptığınızda komutları süper kullanıcı ayrıcalıklarıyla çalıştırmak için komutlardan önce sudo yazabilirsiniz.
Adım 4 - Bir Güvenlik Duvarı Kurma
Ubuntu sunucuları, yalnızca belirli hizmetlere bağlantılara izin verilmesini sağlamak için UFW güvenlik duvarını kullanabilir. Bu uygulamayı kullanarak temel bir güvenlik duvarı kurabilirsiniz.
Not: Sunucularınız Linux-Console.net üzerinde çalışıyorsa, UFW güvenlik duvarı yerine isteğe bağlı olarak Linux-Console.net Bulut Güvenlik Duvarlarını kullanabilirsiniz. Çakışan kuralların neden olabileceği zorlukları önlemek için aynı anda yalnızca bir güvenlik duvarı kullanmanızı öneririz.
Uygulamalar, kurulum sırasında profillerini UFW'ye kaydedebilir. Bu profiller, UFW'nin bu uygulamaları isimleriyle yönetmesine olanak tanır. Sunucunuza bağlanmanızı sağlayan servis olan OpenSSH'nin UFW ile kayıtlı bir profili vardır.
Yüklü UFW profillerinin listesini şu komutu yazarak inceleyebilirsiniz:
ufw app listAvailable applications:
OpenSSHBir sonraki girişinizde sunucunuza SSH ile bağlanabilmeniz için güvenlik duvarının SSH bağlantılarına izin verdiğinden emin olmanız gerekecek. Bu bağlantılara izin vermek için şunu yazın:
ufw allow OpenSSHŞimdi firewall'u etkinleştirmek için şunu yazın:
ufw enableDevam etmek için y yazın ve ENTER tuşuna basın. SSH bağlantılarının hala izinli olduğunu görmek için şunu yazabilirsiniz:
ufw statusStatus: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Güvenlik duvarı şu anda SSH dışındaki tüm bağlantıları engelliyor. Ek hizmetler yükleyip yapılandırırsanız, yeni trafiğin sunucunuza girmesine izin vermek için güvenlik duvarı ayarlarını değiştirmeniz gerekecektir. Bazı yaygın UFW işlemlerini UFW Temelleri rehberimizde öğrenebilirsiniz.
HTTP erişimini daha sonra eklemek için yalnızca ihtiyacınız olan hizmetlere izin verin:
ufw allow 80/tcp
ufw allow 443/tcpYaygın desenler için rate limiting ve hizmete özel kurallar gibi, Ubuntu'da UFW ile bir güvenlik duvarı nasıl kurulur, ona bakın.
Adım 5 - Normal Kullanıcınız için Harici Erişimi Etkinleştirme
Artık günlük kullanım için düzenli bir kullanıcınız olduğuna göre, bu hesaba doğrudan SSH ile bağlanabileceğinizden emin olmanız gerekecek.
Not: Yeni kullanıcınızla giriş yapıp sudo kullanabildiğinizi doğrulayana kadar, root olarak giriş yapmış kalmanızı öneririz. Bağlantı sorunları yaşarsanız, sorun giderebilir ve gerekli değişiklikleri root olarak yapabilirsiniz. Bir Linux-Console.net Droplet kullanıyorsanız ve root SSH bağlantınızda sorun yaşıyorsanız, Recovery Console kullanarak Droplet'lere erişimi yeniden sağlayabilirsiniz.
Yeni kullanıcı için SSH erişimini yapılandırmak, sunucunuzun root hesabının kimlik doğrulama için parola mı yoksa SSH anahtarları mı kullandığına bağlıdır.
Root Hesabının Parola Doğrulaması Kullanması Durumunda
Eğer root hesabınıza şifre kullanarak giriş yaptıysanız, SSH için şifre doğrulaması etkin durumda demektir. Yeni kullanıcı hesabınıza SSH ile bağlanmak için yeni bir terminal oturumu açabilir ve yeni kullanıcı adınızı kullanarak SSH yapabilirsiniz:
ssh sammy@your_server_ipNormal kullanıcı şifrenizi girdikten sonra oturum açmış olacaksınız. Unutmayın, bir komutu yönetici yetkileriyle çalıştırmanız gerekiyorsa, önüne şöyle sudo yazarak çalıştırın:
sudo command_to_runHer oturumda ilk kez sudo kullanırken (ve sonrasında zaman zaman) normal kullanıcı şifreniz için bir istek alacaksınız.
Sunucunuzun güvenliğini artırmak için, şifreli kimlik doğrulaması yerine SSH anahtarları kurmanızı şiddetle tavsiye ediyoruz. Anahtar tabanlı kimlik doğrulamanın nasıl yapılandırılacağını öğrenmek için Ubuntu'da SSH anahtarlarının nasıl kurulacağını anlatan rehberimizi takip edin.
Eğer root Hesabı SSH Anahtar Kimlik Doğrulamasını Kullanıyorsa
Eğer root hesabınıza SSH anahtarları kullanarak giriş yaptıysanız, SSH için parola ile doğrulama devre dışı bırakılmıştır. SSH anahtarıyla normal kullanıcı olarak giriş yapmak için, yerel açık anahtarınızın bir kopyasını yeni kullanıcınızın ~/.ssh/authorized_keys dosyasına eklemeniz gerekir.
Halihazırda genel anahtarınız sunucudaki root hesabının ~/.ssh/authorized_keys dosyasında bulunduğundan, mevcut oturumunuzu kullanarak bu dosyayı ve dizin yapısını yeni kullanıcı hesabınıza kopyalayabilirsiniz.
Dosyaları doğru sahiplik ve izinlerle kopyalamanın en basit yolu rsync komutudur. Bu komut, root kullanıcısının .ssh dizinini kopyalayacak, izinleri koruyacak ve dosya sahiplerini değiştirecektir, hepsi tek bir komutta yapılır. Aşağıdaki komutun vurgulanan kısımlarını kendi normal kullanıcınızın adıyla değiştirdiğinizden emin olun:
Not: rsync komutu, sonu eğik çizgi ile biten kaynak ve hedefleri, bitmeyenlerden farklı şekilde ele alır. Aşağıda rsync kullanırken, kaynak dizininin (~/.ssh) sonunda eğik çizgi bulunmadığından emin olun (kullandığınızın ~/.ssh/ olmadığını kontrol edin).
Komuta yanlışlıkla bir son eğik çizgi eklerseniz, rsync root hesabının ~/.ssh dizininin tamamını kopyalamak yerine içeriğini sudo kullanıcısının ev dizinine kopyalayacaktır. Dosyalar yanlış konumda olacak ve SSH onları bulup kullanamayacaktır.
rsync --archive --chown=sammy:sammy ~/.ssh /home/sammyŞimdi, yerel bilgisayarınızda yeni bir terminal oturumu açın ve yeni kullanıcı adınızla SSH kullanın:
ssh sammy@your_server_ipYeni kullanıcı hesabınızla sunucunuza şifresiz olarak bağlanmış olmalısınız. Unutmayın, bir komutu yönetici yetkileri ile çalıştırmanız gerekirse, komuttan önce şöyle sudo yazın:
sudo command_to_runHer oturumda sudo kullanırken ilk defa (ve sonrasında belirli aralıklarla) normal kullanıcı şifreniz istenecektir.
SSS
1. Ubuntu bir sunucu olarak kullanılabilir mi?
Kesinlikle. Ubuntu, dünya genelinde sunucular için en popüler işletim sistemlerinden biridir ve hafif VPS örneklerinden kurumsal düzeyde kümelere kadar geniş bir yelpazedeki senaryolar için tasarlanmıştır.
Ubuntu Sunucusunun temel avantajları:
| Özellik | Açıklama |
|---|---|
| Açık kaynak & Ücretsiz | Lisans ücreti gerekmemektedir. |
| LTS Desteği | Uzun süreli destek sürümleri 5 yıl boyunca güncelleme alır. |
| Bulut uyumlu | Büyük bulutlar için optimize edilmiş görüntüler (Linux-Console.net, AWS, GCP). |
| DevOps Dostu | OpenSSH, apt ve systemd ile birlikte gelir. |
| Geniş Donanım Desteği | x86, ARM, PPC ve daha fazlasında çalışır. |
Ubuntu'nun iyi yönettiği örnek sunucu görevleri:
- Web barındırma (Apache, Nginx)
- Veritabanları (PostgreSQL, MySQL, MongoDB)
- Uygulama sunucuları (Node.js, Python, Java)
- Konteyner orkestrasyonu (Docker, Kubernetes)
- Dosya depolama ve yedeklemeler
Örnek: Ubuntu sürümünüzü kontrol etmek için:
lsb_release -a
# OR
cat /etc/os-releaseSSH ve paket yönetimi hakkında daha fazla bilgi için bkz: OpenSSH Anahtar Kılavuzu.
2. Ubuntu Server ücretsiz mi?
Evet. Ubuntu Server, kişisel, eğitimsel veya ticari amaçlarla indirip yüklemek ve kullanmak için tamamen ücretsizdir. Lisans ücretleri veya abonelik ücreti yoktur.
Başlamak için basit ve güvenilir bir yol arıyorsanız, Linux-Console.net üzerinde bir Ubuntu Droplet dağıtmayı düşünebilirsiniz. Linux-Console.net, önceden yapılandırılmış Ubuntu sunucu görüntüleri sağlar, böylece güvenli ve üretime hazır sunucuları sadece birkaç tıklama ile başlatabilirsiniz—hem yeni başlayanlar hem de uzmanlar için mükemmeldir.
Not: Yalnızca genişletilmiş güvenlik bakımı, uyumluluk özellikleri veya kurumsal destek gerektiriyorsanız Ubuntu Pro'ya ihtiyacınız vardır. Çoğu kullanıcı ve tipik iş yükleri için, Ubuntu Server'ın ücretsiz sürümü fazlasıyla yeterlidir.
3. Yeni bir sunucu için hangi Ubuntu sürümünü seçmeliyim?
Öneri:
Uzun Süreli Destek (LTS) sürümünü kullanın. LTS sürümleri üretim için hazırdır ve beş yıl boyunca güncelleme alır.
Popüler LTS sürümleri:
| Serbest bırak | Yayın Tarihi | Destek Sonu | Notlar |
|---|---|---|---|
| Ubuntu 24.04 LTS | Nisan 2024 | Nisan 2029 | En son; yeni kurulumlar için önerilir |
| Ubuntu 22.04 LTS | Nisan 2022 | Nisan 2027 | Yaygın olarak kullanılır; oldukça stabildir |
Mevcut sürümünüzü kontrol edin:
lsb_release -cs # Shows the codename (e.g., 'jammy' for 22.04)Bu kılavuz ve komutları hem 24.04 LTS hem de 22.04 LTS için geçerlidir.
4. SSH için parola doğrulamayı devre dışı bırakmalı mıyım?
Evet, güçlü bir güvenlik için.
SSH anahtar doğrulamasını kurduktan sonra ve giriş yapabildiğinizi doğruladıktan sonra, SSH için parola doğrulamasını devre dışı bırakmak sunucunuzun kaba kuvvet saldırılarına maruz kalma riskini azaltır.
Adımlar:
SSH yapılandırmasını açın:
sudo nano /etc/ssh/sshd_configBul ve ayarla:
PasswordAuthentication noSSH'yi yeniden başlat:
sudo systemctl reload sshd
Önemli: Bu değişikliği yapmadan önce her zaman sunucuya erişmek için başka bir yol bulundurun, örneğin Linux-Console.net’in Droplet Konsolu veya yedek erişim.
5. Varsayılan SSH portunu değiştirmem gerekiyor mu?
SSH portunu 22'den değiştirmek isteğe bağlıdır ve uygun SSH anahtar kimlik doğrulaması veya güvenlik duvarı yapılandırmasının yerine geçmez.
Artıları & Eksileri:
| Port 22'yi Değiştirme | Etkiler |
|---|---|
| Taramaları biraz azaltır | Otomatik botlar, 22 olmayan portları atlayabilir |
| Güvenlik yerine geçmez | Saldırganlar hâlâ açık portları bulabilir |
| Güvenlik duvarı güncellemesi gerekiyor | UFW veya firewalld kurallarının değiştirilmesi gerekiyor |
Portu değiştirirseniz:
/etc/ssh/sshd_configdosyasını düzenleyin:Port 2277 # Example port; use a port >1024 that's not in useUFW kurallarını güncelle:
sudo ufw allow 2277/tcpBağlanmak için:
ssh -p 2277 user@your_server_ipYeni portunuzu kilitlenmeyi önlemek için belgeleyin.
Bunu birincil savunmanız olarak değil, ek bir adım olarak kullanın.
Sonuç
Tebrikler! Ubuntu ile temel başlangıç sunucu kurulum sürecini tamamladınız. Bu adımları takip ederek sunucunuzun güvenliğini büyük ölçüde artırdınız ve gelecekteki yapılandırma için zemin hazırladınız. Artık günlük yönetimi daha güvenli şekilde yapabilmek için sudo ayrıcalıklarına sahip bir root olmayan kullanıcı hesabınız, tüm trafiği izin verdiğiniz dışındaki bağlantılara kapatan yapılandırılmış bir güvenlik duvarınız (UFW) ve güvenli SSH anahtar kimlik doğrulamanız var—bu da yetkisiz erişim riskinizi önemli ölçüde azaltır.
Bu en iyi uygulamalar yerinde olduğunda, Ubuntu sunucunuz web barındırma ve uygulama dağıtımı için hazırdır ve ihtiyacınız olan diğer özelleştirmeleri yapabilirsiniz. Bu eğitimde tamamlanan kurulum, neredeyse her Linux sunucu projesi için temel bir gerekliliktir ve bu temelleri anlamak, bulutta veya şirket içinde altyapıyı güvenle yönetmenize yardımcı olacaktır.
Yeni kimlik bilgilerinizi takip etmeyi, düzenli güncellemeler yapmayı ve sistemlerinizi güvenli ve sürdürülebilir tutmak için öğrenmeye devam etmeyi unutmayın.
Sonraki Adımlar
Bu noktada, sunucunuz için sağlam bir temeliniz var. Artık sunucunuza ihtiyacınız olan herhangi bir yazılımı kurabilirsiniz.
Linux komutlarıyla daha fazla tanışmak isterseniz, Linux Komut Satırı Kılavuzumuza göz atabilirsiniz.
SSH ve güvenlik duvarı sertleştirme konusunda bir sonraki adımları mı arıyorsunuz? SSH Temelleri: SSH Sunucuları, İstemcileri ve Anahtarları ile Çalışmak, SSH Kullanarak Uzak Bir Sunucuya Bağlanma ve SSH Şifreleme ve Bağlantı Sürecini Anlama üzerine göz atın.
Bunu bir sonraki dene: Ubuntu 24.04 LTS ile bir Linux-Console.net Droplet oluşturun, bu adımları uygulayın, ardından yönetilen bir veritabanı ekleyin veya App Platform üzerinden dağıtım yapın. Güncel görüntüler ve sürüm notları için Linux-Console.net’in Ubuntu dağıtım sayfasını keşfedin.
Linux-Console.net Topluluğu ile öğrenme sürecine katıldığınız için teşekkürler.
