Debian Kurulum Notlarım/ install Notes
1. Debian Repository Ekleme / Adding Debian Repository
— Sources.list Dosyası Ekleme / Adding Sources.list File
— Temel Repository Formatı / Basic Repository Format
— Resmi Repository’ler / Official Repositories
— GPG Anahtarı Ekleme / Adding GPG Key
— Repository Güncelleme / Repository Update
— Backports Repository / Backports Repository
— Third-Party Repository / Third-Party Repository
— Repository Silme / Remove Repository
— Repository Yönetimi / Repository Management
— HTTPS Desteği / HTTPS Support
2. Terminal Kopyalama-Yapıştırma / Terminal Copy-Paste
— Terminal İçi Kopyalama / In-Terminal Copy
— Sağ Tık Menüsü / Right Click Menu
— Orta Fare Tuşu / Middle Mouse Button
— Terminal Kısayolları / Terminal Shortcuts
— Screen Kullanımı / Screen Usage
— Tmux Kullanımı / Tmux Usage
— Buffer Kopyalama / Buffer Copy
— xclip Kullanımı / xclip Usage
— Terminal Yapılandırması / Terminal Configuration
— Vim Kopyalama / Vim Copy
— SSH Kopyalama / SSH Copy
3. Sistem Askıya Alma / System Suspend
— Askıya Alma Engelleme / Prevent Suspend
— Dosya Kaydetme / Save Files
— Sistem Durumu Kontrolü / System Status Check
— Askıya Alma Yönetimi / Suspend Management
— Zamanlı Askıya Alma / Timed Suspend
4. RDP Kurulumu / RDP Setup
— XRDP Kurulumu / XRDP Installation
— XRDP Servis Yönetimi / XRDP Service Management
— Firewall Ayarları / Firewall Settings
— Masaüstü Ortamı Ayarları / Desktop Environment Settings
— Sorun Giderme / Troubleshooting
— Güvenlik Önerileri / Security Recommendations
— Bağlantı Bilgileri / Connection Information
5. LAMP install (phpmayadmin + secure install)
6. OpenSSH install
7. Debian/Linux sisteminde saat ve tarih güncelleme işlemleri
8. Debian/Linux’ta uyku moduna girmeyi engelleme yöntemleri
9. FTP sunucusu kurulumu için vsftpd (Very Secure FTP Daemon) kullanacağız
10. Debian’a VSCode kurulumunu
*****************************************************
Debian’da repository (depo) ekleme konusunda size yardımcı olacağım. İşte farklı yöntemlerle repository ekleme adımları:
1. Sources.list Dosyası Üzerinden Ekleme:
“`bash
# Sources.list dosyasını açın
sudo nano /etc/apt/sources.list
# Veya yeni bir dosya oluşturun
sudo nano /etc/apt/sources.list.d/yeni_repo.list
“`
2. Temel Repository Formatı:
“`bash
deb http://depo-adresi/debian version main contrib non-free
deb-src http://depo-adresi/debian version main contrib non-free
“`
3. Debian’ın Resmi Repository’leri (Örnek):
“`bash
# Debian 12 (Bookworm) için
deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb http://deb.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
# Debian 11 (Bullseye) için
deb http://deb.debian.org/debian bullseye main contrib non-free
deb http://security.debian.org/debian-security bullseye-security main contrib non-free
deb http://deb.debian.org/debian bullseye-updates main contrib non-free
“`
4. GPG Anahtarı Ekleme:
“`bash
# Anahtar indirme
wget -qO — https://paket-adresi/KEY.gpg | sudo apt-key add –
# Veya
curl -fsSL https://paket-adresi/KEY.gpg | sudo gpg — dearmor -o /etc/apt/trusted.gpg.d/paket.gpg
“`
5. Repository Güncelleme:
“`bash
# Paket listelerini güncelle
sudo apt update
# Tüm paketleri güncelle
sudo apt upgrade
“`
6. Backports Repository Ekleme:
“`bash
# Bookworm için
deb http://deb.debian.org/debian bookworm-backports main contrib non-free
# Bullseye için
deb http://deb.debian.org/debian bullseye-backports main contrib non-free
“`
7. Third-Party Repository Örnekleri:
PHP Repository:
“`bash
# Ondrej PHP PPA
wget -qO — https://packages.sury.org/php/apt.gpg | sudo apt-key add –
echo “deb https://packages.sury.org/php/ $(lsb_release -sc) main” | sudo tee /etc/apt/sources.list.d/php.list
“`
Node.js Repository:
“`bash
# NodeSource repository
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo bash –
“`
8. Repository Silme:
“`bash
# sources.list.d dizininden silme
sudo rm /etc/apt/sources.list.d/repo_adi.list
# veya sources.list içinden ilgili satırları silme/yorum satırı yapma
sudo nano /etc/apt/sources.list
“`
9. Repository Yönetimi İçin Yararlı Komutlar:
“`bash
# Mevcut repository’leri listele
apt policy
# Repository anahtarlarını listele
sudo apt-key list
# Bozuk repository’leri kontrol et
sudo apt update 2>&1 | grep Err
# Repository önbelleğini temizle
sudo apt clean
“`
10. HTTPS Desteği İçin:
“`bash
sudo apt install apt-transport-https ca-certificates
“`
Önemli Notlar:
– Repository eklerken güvenilir kaynaklardan eklediğinizden emin olun
– Her repository ekledikten sonra `sudo apt update` komutunu çalıştırın
– Eski/kullanılmayan repository’leri sistemden kaldırın
– Third-party repository’leri dikkatli kullanın
– Her zaman GPG anahtarlarını doğrulayın
Bu adımları takip ederek Debian sisteminize güvenli bir şekilde yeni repository’ler ekleyebilirsiniz.
Debian terminalinde kopyalama ve yapıştırma işlemleri için size farklı yöntemleri açıklayacağım:
1. Terminal İçinde Kopyalama-Yapıştırma:
“`bash
# Kopyalama
CTRL + SHIFT + C
# Yapıştırma
CTRL + SHIFT + V
“`
2. Sağ Tık Menüsü:
“`bash
# Fare sağ tıklama ile:
Kopyala (Copy)
Yapıştır (Paste)
“`
3. Orta Fare Tuşu ile:
“`bash
# Metni seçtikten sonra:
Orta tuş (tekerlek) ile tıklayarak yapıştırma
“`
4. Terminal Kısayolları:
“`bash
# Metin seçimi:
SHIFT + Sol/Sağ ok tuşları
# Tüm metni seçme:
CTRL + SHIFT + A
# Kesme:
CTRL + SHIFT + X
“`
5. Screen Kullanıcıları İçin:
“`bash
# Copy mode’a geçiş:
CTRL + A + [
# Seçimi başlatma:
SPACE
# Seçimi kopyalama:
CTRL + A + ]
“`
6. Tmux Kullanıcıları İçin:
“`bash
# Copy mode’a geçiş:
CTRL + B + [
# Seçimi başlatma:
SPACE
# Seçimi kopyalama:
ENTER
# Yapıştırma:
CTRL + B + ]
“`
7. Terminal Buffer Kopyalama:
“`bash
# Son çıktıyı kopyalama
!$
# Son komutun tamamını kopyalama
!!
“`
8. xclip Kullanımı:
“`bash
# xclip kurulumu
sudo apt install xclip
# Dosya içeriğini panoya kopyalama
cat dosya.txt | xclip -selection clipboard
# Komut çıktısını panoya kopyalama
pwd | xclip -selection clipboard
“`
9. Terminal Yapılandırması:
“`bash
# .bashrc veya .zshrc dosyasına eklenebilecek alias’lar:
alias c=’xclip -selection clipboard’
alias v=’xclip -selection clipboard -o’
“`
10. Vim Kullanıcıları İçin:
“`bash
# Vim içinde kopyalama-yapıştırma:
# Visual mode’a geçiş
v
# Tüm satırı seçme
V
# Kopyalama
y
# Yapıştırma
p
“`
11. SSH Üzerinden Kopyalama:
“`bash
# SSH oturumunda kopyalama-yapıştırma aktif etme
ssh -X kullanici@sunucu
“`
Önemli İpuçları:
– Terminal emülatörünüzün ayarlarından kopyalama-yapıştırma davranışını özelleştirebilirsiniz
– Bazı terminal emülatörleri otomatik kopyalama özelliğine sahiptir
– UTF-8 karakter kodlaması sorunlarına dikkat edin
– Güvenlik nedeniyle bazı terminaller yapıştırma işlemini onay gerektirebilir
Güvenlik Notları:
– Hassas bilgileri kopyalarken dikkatli olun
– Pano içeriğini düzenli olarak temizleyin
– Güvenilmeyen kaynaklardan yapıştırma yaparken dikkatli olun
Terminal türüne göre ek özelleştirmeler:
GNOME Terminal:
“`bash
# Ayarlar menüsünden:
Düzenle > Tercihler > Kısayollar
“`
Konsole:
“`bash
# Ayarlar menüsünden:
Ayarlar > Kısayolları Yapılandır
“`
Bu yöntemlerden size en uygun olanı kullanabilirsiniz.
“““
The system will suspend now!
“““
Bu mesaj sistemin askıya alınacağını (suspend/uyku moduna geçeceğini) belirten bir uyarıdır. İşte bu durumla ilgili bilmeniz gerekenler ve yapabilecekleriniz:
1. Sistemin Askıya Alınmasını Engellemek İçin:
“`bash
# Askıya almayı iptal etmek için
sudo systemctl cancel-shutdown
# veya
sudo shutdown -c
“`
2. Açık Dosyaları Kaydetme:
– Tüm açık belgelerinizi kaydedin
– Çalışan programları düzgünce kapatın
– Devam eden indirmeleri durdurun
3. Sistem Durumunu Kontrol:
“`bash
# Sistemi kullanan kullanıcıları görmek için
who
# Çalışan işlemleri görmek için
ps aux
# Sistem kaynaklarını kontrol etmek için
top
“`
4. Askıya Alma İşlemini Yönetme:
“`bash
# Manuel askıya alma
sudo pm-suspend
# Veya
sudo systemctl suspend
“`
5. Zamanlı Askıya Alma:
“`bash
# 30 dakika sonra askıya alma
sudo shutdown -h +30
# Belirli bir saatte askıya alma
sudo shutdown -h 23:00
“`
Önemli Notlar:
– Açık dosyalarınızı kaydettiğinizden emin olun
– Önemli işlemlerin tamamlandığından emin olun
– Sistem yeniden başlatıldığında işlerinize kaldığınız yerden devam edebilirsiniz
Debian’da RDP (Remote Desktop Protocol) kurulumu için adım adım rehber:
**TÜRKÇE:**
1. **XRDP Kurulumu:**
“`bash
# Sistem güncellemesi
sudo apt update
sudo apt upgrade -y
# XRDP ve XFCE4 masaüstü ortamı kurulumu
sudo apt install xrdp xfce4 xfce4-goodies -y
“`
2. **XRDP Servisini Başlatma:**
“`bash
# XRDP servisini başlat
sudo systemctl start xrdp
# Sistem başlangıcında otomatik başlatma
sudo systemctl enable xrdp
“`
3. **Firewall Ayarları:**
“`bash
# UFW ile port açma
sudo ufw allow 3389/tcp
# Firewall’u yeniden başlat
sudo ufw reload
“`
4. **Masaüstü Ortamını Ayarlama:**
“`bash
# XFCE4 yapılandırma dosyası oluşturma
echo xfce4-session > ~/.xsession
# XRDP yapılandırma dosyasını düzenleme
sudo nano /etc/xrdp/startwm.sh
“`
Dosyanın sonuna ekleyin:
“`bash
#!/bin/sh
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR
startxfce4
“`
5. **Servisi Yeniden Başlatma:**
“`bash
sudo systemctl restart xrdp
“`
6. **Bağlantı Durumunu Kontrol Etme:**
“`bash
sudo systemctl status xrdp
“`
**ENGLISH:**
1. **Installing XRDP:**
“`bash
# System update
sudo apt update
sudo apt upgrade -y
# Install XRDP and XFCE4 desktop environment
sudo apt install xrdp xfce4 xfce4-goodies -y
“`
2. **Starting XRDP Service:**
“`bash
# Start XRDP service
sudo systemctl start xrdp
# Enable automatic start at boot
sudo systemctl enable xrdp
“`
3. **Firewall Settings:**
“`bash
# Open port with UFW
sudo ufw allow 3389/tcp
# Reload firewall
sudo ufw reload
“`
4. **Setting Up Desktop Environment:**
“`bash
# Create XFCE4 configuration file
echo xfce4-session > ~/.xsession
# Edit XRDP configuration file
sudo nano /etc/xrdp/startwm.sh
“`
Add to end of file:
“`bash
#!/bin/sh
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR
startxfce4
“`
5. **Restart Service:**
“`bash
sudo systemctl restart xrdp
“`
6. **Check Connection Status:**
“`bash
sudo systemctl status xrdp
“`
**Sorun Giderme / Troubleshooting:**
1. **Bağlantı Sorunları / Connection Issues:**
“`bash
# Log kontrolü / Check logs
sudo tail -f /var/log/xrdp.log
# Servis durumu / Service status
sudo systemctl status xrdp
“`
2. **İzin Sorunları / Permission Issues:**
“`bash
# İzinleri düzenleme / Fix permissions
sudo chown xrdp:xrdp /var/run/xrdp.pid
sudo chown xrdp:xrdp /var/run/xrdp.sock
“`
3. **Port Kontrolü / Port Check:**
“`bash
# Port dinleme durumu / Port listening status
sudo netstat -tulpn | grep xrdp
“`
4. **SSL Sertifika Yenileme / SSL Certificate Renewal:**
“`bash
# Sertifikaları yenileme / Renew certificates
sudo xrdp-keygen xrdp auto
“`
**Güvenlik Önerileri / Security Recommendations:**
1. **Güçlü Şifre Kullanımı / Strong Password Usage:**
“`bash
# Şifre politikası ayarlama / Set password policy
sudo apt install libpam-pwquality
sudo nano /etc/security/pwquality.conf
“`
2. **SSH Üzerinden Tünel / SSH Tunneling:**
“`bash
# SSH tüneli oluşturma / Create SSH tunnel
ssh -L 3389:localhost:3389 kullanici@sunucu-ip
“`
3. **Fail2ban Kurulumu / Install Fail2ban:**
“`bash
sudo apt install fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
“`
**Bağlantı Bilgileri / Connection Information:**
– Varsayılan Port / Default Port: 3389
– Protokol / Protocol: RDP
– Kullanıcı Adı / Username: Linux kullanıcı adınız / Your Linux username
– Şifre / Password: Linux kullanıcı şifreniz / Your Linux password
Windows’tan bağlanmak için “Uzak Masaüstü Bağlantısı” (Remote Desktop Connection) uygulamasını kullanabilirsiniz. / You can use Remote Desktop Connection application from Windows to connect.
Debian’da LAMP (Linux, Apache, MySQL, PHP) stack kurulumunu adım adım anlatayım:
1. Sistem Güncellemesi / System Update:
“`bash
sudo apt update
sudo apt upgrade -y
“`
2. Apache Web Server Kurulumu / Apache Installation:
“`bash
# Apache kurulumu
sudo apt install apache2
# Apache’yi başlatma
sudo systemctl start apache2
sudo systemctl enable apache2
# Durumu kontrol
sudo systemctl status apache2
“`
3. MySQL (MariaDB) Kurulumu / MySQL Installation:
“`bash
# MySQL kurulumu
sudo apt install mariadb-server mariadb-client
# MySQL’i başlatma
sudo systemctl start mariadb
sudo systemctl enable mariadb
# Güvenlik yapılandırması
sudo mysql_secure_installation
“`
4. PHP Kurulumu / PHP Installation:
“`bash
# PHP ve gerekli modüllerin kurulumu
sudo apt install php php-mysql php-cli php-common php-mbstring php-gd php-curl php-xml php-zip
# Apache PHP modülü
sudo apt install libapache2-mod-php
# Apache’yi yeniden başlatma
sudo systemctl restart apache2
“`
5. Test ve Doğrulama / Testing:
“`bash
# PHP bilgi sayfası oluşturma
sudo nano /var/www/html/info.php
“`
PHP test dosyası içeriği:
“`php
<?php
phpinfo();
?>
“`
6. İzinler ve Güvenlik / Permissions:
“`bash
# Web dizini izinleri
sudo chown -R www-data:www-data /var/www/html/
sudo chmod -R 755 /var/www/html/
“`
7. Firewall Ayarları / Firewall Settings:
“`bash
# HTTP ve HTTPS portlarını açma
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reload
“`
8. PhpMyAdmin Kurulumu (Opsiyonel) / PhpMyAdmin Installation /phpMyAdmin secure Installation adım adım yapalım:
1. İlk olarak paket deposunu güncelleyelim:
“`bash
sudo apt update
“`
2. phpMyAdmin ve gerekli PHP paketlerini kuralım:
“`bash
sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl
“`
Kurulum sırasında şu adımlarla karşılaşacaksınız:
– Web sunucusu seçimi penceresi geldiğinde:
— Apache2 kullanıyorsanız [*] Apache2’yi seçin (Space tuşu ile seçim yapılır)
— Tab tuşu ile OK’a gelip Enter’a basın
– “Configuring phpmyadmin” ekranında:
— “Yes” seçeneğini seçin ve phpMyAdmin veritabanını otomatik yapılandırmasına izin verin
– Veritabanı yapılandırması için bir şifre belirlemeniz istenecek:
— Güvenli bir şifre belirleyin ve not alın
— Şifreyi tekrar girin
3. PHP’yi yeniden başlatalım:
“`bash
sudo systemctl restart apache2
“`
4. Güvenlik için Apache’de phpMyAdmin konfigürasyonunu düzenleyelim:
“`bash
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
“`
5. Apache’yi yeniden başlatalım:
“`bash
sudo systemctl restart apache2
“`
Artık phpMyAdmin’e erişebilirsiniz:
– Web tarayıcınızda şu adresi açın: `http://localhost/phpmyadmin` veya `http://sunucu-ip-adresi/phpmyadmin`
– Kullanıcı adı olarak “root”
– Şifre olarak MySQL root şifrenizi kullanın
///////////////phpmayadmin//////////////
************gerekirsese yeniden yapılandırma************
Tamam, phpMyAdmin’i yeniden yapılandıralım:
1. Önce yeniden yapılandırma komutunu çalıştıralım:
“`bash
sudo dpkg-reconfigure phpmyadmin
“`
Bu komuttan sonra karşınıza aşağıdaki adımlar çıkacak:
2. Yapılandırma Adımları:
— Web sunucusu seçimi ekranında:
— [*] Apache2’yi seçin (Space tuşu ile)
— Tab tuşu ile OK’a gelip Enter’a basın
– “Configure database for phpmyadmin with dbconfig-common?” sorusuna:
— “Yes” seçeneğini seçin
– phpMyAdmin veritabanı için şifre belirleme:
— Güvenli bir şifre girin (örneğin: şifreniz)
— Şifreyi tekrar girin
3. Yapılandırma tamamlandıktan sonra, gerekli servisleri yeniden başlatalım:
“`bash
sudo systemctl restart mysql
sudo systemctl restart apache2
“`
4. İzinleri kontrol edelim:
“`bash
sudo chown -R www-data:www-data /etc/phpmyadmin/
sudo chmod 644 /etc/phpmyadmin/config.inc.php
“`
5. MySQL’de root kullanıcısının yetkilendirmesini yapalım:
“`bash
sudo mysql
“`
MySQL komut satırında:
“`sql
ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘şifre’;
FLUSH PRIVILEGES;
EXIT;
“`
6. Son olarak, tüm ayarların doğru çalıştığından emin olmak için tekrar servisleri yeniden başlatalım:
“`bash
sudo systemctl restart mysql
sudo systemctl restart apache2
“`
Şimdi web tarayıcınızdan phpMyAdmin’e erişmeyi deneyin:
“`
http://localhost/phpmyadmin
“`
veya
“`
http://sunucu-ip-adresi/phpmyadmin
“`
Kullanıcı adı: root
Şifre: şifre
Eğer hala bir sorunla karşılaşırsanız, lütfen hatayı paylaşın. Size yardımcı olmaya devam edeceğim.
*********************************************************
Güvenlik İpuçları:
1. phpMyAdmin dizinini yeniden adlandırabilirsiniz
2. .htaccess ile ek güvenlik katmanı ekleyebilirsiniz
3. Erişimi belirli IP adreslerine kısıtlayabilirsiniz
Önemli Dizinler / Important Directories:
“`bash
# Web root dizini
/var/www/html/
# Apache yapılandırma
/etc/apache2/
# PHP yapılandırma
/etc/php/
# MySQL yapılandırma
/etc/mysql/
“`
Temel Komutlar / Basic Commands:
“`bash
# Apache yönetimi
sudo systemctl start|stop|restart|status apache2
# MySQL yönetimi
sudo systemctl start|stop|restart|status mariadb
# Apache hata logları
sudo tail -f /var/log/apache2/error.log
# PHP hata logları
sudo tail -f /var/log/php_errors.log
“`
Güvenlik Önerileri / Security Tips:
1. Güçlü şifreler kullanın / Use strong passwords
2. Düzenli güncellemeleri yapın / Regular updates
3. SSL sertifikası kurun / Install SSL certificate
4. Güvenlik duvarını yapılandırın / Configure firewall
5. Dosya izinlerini kontrol edin / Check file permissions
SSL Sertifikası Kurulumu / SSL Certificate:
“`bash
# Let’s Encrypt kurulumu
sudo apt install certbot python3-certbot-apache
# Sertifika alma
sudo certbot — apache
“`
Virtual Host Oluşturma / Creating Virtual Host:
“`bash
# Yapılandırma dosyası oluşturma
sudo nano /etc/apache2/sites-available/site.conf
# Virtual host aktif etme
sudo a2ensite site.conf
sudo systemctl reload apache2
“`
Hata Ayıklama / Troubleshooting:
1. Apache error logs kontrol
2. PHP error logs kontrol
3. MySQL error logs kontrol
4. İzinlerin doğruluğunu kontrol
5. Modüllerin aktif olduğunu kontrol
Not / Note:
– Her kurulumdan sonra servisleri yeniden başlatın
– Güvenlik güncellemelerini düzenli takip edin
– Yedekleme rutini oluşturun
– Performans optimizasyonu yapın
SSH Server kurulumunu adım adım anlatıyorum:
1. SSH Server Kurulumu / SSH Server Installation:
“`bash
# Güncelleme
sudo apt update
sudo apt upgrade
# OpenSSH Server kurulumu
sudo apt install openssh-server
“`
2. Servis Yönetimi / Service Management:
“`bash
# Servisi başlatma
sudo systemctl start ssh
# Otomatik başlatma
sudo systemctl enable ssh
# Servis durumu kontrolü
sudo systemctl status ssh
“`
3. Temel Güvenlik Ayarları / Basic Security Settings:
“`bash
# SSH yapılandırma dosyası
sudo nano /etc/ssh/sshd_config
# Önemli güvenlik ayarları:
Port 2222 # Varsayılan portu değiştir
PermitRootLogin no # Root girişini engelle
PasswordAuthentication no # Şifre ile girişi kapat
PubkeyAuthentication yes # Anahtar ile girişe izin ver
AllowUsers kullanici1 # İzin verilen kullanıcılar
MaxAuthTries 3 # Maksimum deneme sayısı
“`
4. Firewall Ayarları / Firewall Settings:
“`bash
# SSH portu için güvenlik duvarını yapılandırma
sudo ufw allow 2222/tcp
sudo ufw enable
sudo ufw status
“`
5. SSH Anahtar Yönetimi / SSH Key Management:
“`bash
# Client tarafında anahtar oluşturma
ssh-keygen -t rsa -b 4096
# Açık anahtarı sunucuya kopyalama
ssh-copy-id -p 2222 kullanici@sunucu_ip
“`
6. SSH Bağlantı Test / SSH Connection Test:
“`bash
# SSH bağlantı testi
ssh -p 2222 kullanici@sunucu_ip
“`
7. Log Kontrolü / Log Monitoring:
“`bash
# SSH loglarını izleme
sudo tail -f /var/log/auth.log
“`
8. Fail2ban Kurulumu / Fail2ban Installation:
“`bash
# Fail2ban kurulumu
sudo apt install fail2ban
# Yapılandırma
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
“`
9. İzinler / Permissions:
“`bash
# SSH dizini izinleri
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
“`
10. Güvenlik İpuçları / Security Tips:
– Güçlü şifreler kullanın
– Varsayılan portu değiştirin
– Anahtar tabanlı kimlik doğrulama kullanın
– Fail2ban kullanın
– Logları düzenli kontrol edin
11. Sorun Giderme / Troubleshooting:
“`bash
# Bağlantı sorunları için debug modu
ssh -vv kullanici@sunucu_ip
# SSH servis durumu
sudo systemctl status ssh
# Port kontrolü
sudo netstat -tulpn | grep ssh
“`
12. SSH Config Örneği / SSH Config Example:
“`bash
# ~/.ssh/config dosyası
Host sunucu_adi
HostName sunucu_ip
Port 2222
User kullanici
IdentityFile ~/.ssh/id_rsa
“`
13. Otomatik Bağlantı / Auto Connection:
“`bash
# Anahtar oluşturma (parolasız)
ssh-keygen -t rsa -N “” -f ~/.ssh/id_rsa
# Anahtarı sunucuya kopyalama
ssh-copy-id -i ~/.ssh/id_rsa.pub kullanici@sunucu_ip
“`
Önemli Notlar / Important Notes:
– Her değişiklikten sonra servisi yeniden başlatın
– Güvenlik güncellemelerini düzenli yapın
– Yedekleme rutini oluşturun
– Sadece gerekli portları açık tutun
– SSH anahtarlarını güvenli saklayın
Yararlı Komutlar / Useful Commands:
“`bash
# Bağlı kullanıcıları görme
who
# Aktif SSH oturumları
w
# SSH versiyonu kontrol
ssh -V
# SSH anahtar parmak izi
ssh-keygen -l -f ~/.ssh/id_rsa.pub
“`
Debian/Linux sisteminde saat ve tarih güncelleme işlemleri
# Sadece saat ayarlama
sudo date +%T -s “14:30:00”
# Sadece tarih ayarlama
sudo date +%Y%m%d -s “20241124”
“`
2. NTP (Network Time Protocol) ile Otomatik Ayarlama:
“`bash
# NTP kurulumu
sudo apt update
sudo apt install ntp
# NTP servisi başlatma
sudo systemctl start ntp
sudo systemctl enable ntp
# NTP durumu kontrolü
sudo systemctl status ntp
“`
3. Zaman Dilimi Ayarları / Timezone Settings:
“`bash
# Mevcut zaman dilimini görme
timedatectl
# Kullanılabilir zaman dilimlerini listeleme
timedatectl list-timezones
# Zaman dilimini değiştirme
sudo timedatectl set-timezone Europe/Istanbul
“`
4. Donanım Saati Senkronizasyonu:
“`bash
# Sistem saatini donanım saatine yazma
sudo hwclock — systohc
# Donanım saatini okuma
sudo hwclock — show
5. Chrony ile Saat Senkronizasyonu:
“`bash
# Chrony kurulumu
sudo apt install chrony
# Servisi başlatma
sudo systemctl start chronyd
sudo systemctl enable chronyd
# Durum kontrolü
chronyc tracking
“`
Yararlı Komutlar / Useful Commands:
“`bash
# Mevcut saat ve tarihi gösterme
date
# NTP sunucuları ile senkronizasyon durumu
ntpq -p
# Sistem saati ayarlarını görme
timedatectl status
# Zaman senkronizasyonunu kontrol etme
sudo timedatectl set-ntp true
“`
Not / Notes:
– Sunucu sistemlerinde NTP kullanımı önerilir
– Zaman dilimi değişikliklerinde sistemin yeniden başlatılması gerekebilir
– Saat değişikliği bazı servisleri etkileyebilir
– Donanım saati UTC formatında tutulur
Debian/Linux’ta uyku moduna girmeyi engelleme yöntemleri:
1. Sistem Ayarlarından Engelleme / System Settings:
“`bash
# Güç yönetimi ayarlarını değiştirme
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
# Servisleri kontrol etme
systemctl status sleep.target suspend.target hibernate.target hybrid-sleep.target
“`
2. Komut Satırı ile Geçici Engelleme / Temporary Prevention:
“`bash
# systemd-inhibit kullanımı
systemd-inhibit — what=sleep — who=”$USER” — why=”Prevent suspend” — mode=block sleep infinity
# caffeine benzeri uygulama
sudo apt install caffeine
“`
3. Güç Yönetimi Ayarları / Power Management:
“`bash
# GNOME için
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type ‘nothing’
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-type ‘nothing’
# KDE için
qdbus org.kde.Solid.PowerManagement /org/kde/Solid/PowerManagement set suppressSleep true
“`
4. systemd Yapılandırması / systemd Configuration:
“`bash
# logind.conf düzenleme
sudo nano /etc/systemd/logind.conf
# Eklenecek/değiştirilecek satırlar:
HandleLidSwitch=ignore
HandleLidSwitchExternalPower=ignore
IdleAction=ignore
“`
5. DPMS (Ekran Güç Yönetimi) Ayarları:
“`bash
# DPMS’i devre dışı bırakma
xset -dpms
xset s off
# Kalıcı yapmak için ~/.xprofile’a ekleyin:
echo “xset -dpms” >> ~/.xprofile
echo “xset s off” >> ~/.xprofile
“`
6. Otomatik Script Oluşturma / Create Automatic Script:
“`bash
# Script oluşturma
sudo nano /usr/local/bin/prevent-suspend.sh
# Script içeriği
#!/bin/bash
while true; do
xdotool keydown Shift; xdotool keyup Shift
sleep 59
done
# Çalıştırılabilir yapma
sudo chmod +x /usr/local/bin/prevent-suspend.sh
“`
7. Kernel Parametreleri / Kernel Parameters:
“`bash
# GRUB yapılandırması
sudo nano /etc/default/grub
# Eklenecek parametre
GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash noacpi”
# GRUB güncelleme
sudo update-grub
“`
8. Otomatik Başlangıç Ayarı / Autostart Setting:
“`bash
# Autostart dosyası oluşturma
mkdir -p ~/.config/autostart
nano ~/.config/autostart/prevent-suspend.desktop
# Dosya içeriği
[Desktop Entry]
Type=Application
Name=Prevent Suspend
Exec=/usr/local/bin/prevent-suspend.sh
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
“`
Önemli Notlar / Important Notes:
– Bazı ayarlar masaüstü ortamına göre değişebilir
– Sistem güncellemelerinde ayarlar sıfırlanabilir
– Pil kullanımı artabilir
– Güvenlik güncellemeleri için sistem yeniden başlatılmalıdır
Sorun Giderme / Troubleshooting:
“`bash
# Güç yönetimi durumu
powerprofilesctl get
# Uyku modu durumu
systemctl status systemd-suspend.service
# Aktif inhibitörleri görme
systemd-inhibit — list
“`
GUI Uygulamaları / GUI Applications:
– Caffeine
– GNOME Tweaks
– KDE System Settings
– Power Manager Settings
Her masaüstü ortamı için ayarlar farklı olabilir, kullandığınız ortama göre uygun yöntemi seçin.
9. FTP sunucusu kurmak için vsftpd (Very Secure FTP Daemon) kullanacağız. Adım adım kuralım:
1. Önce vsftpd’yi yükleyelim:
“`bash
sudo apt update
sudo apt install vsftpd
“`
2. Orijinal config dosyasını yedekleyelim:
“`bash
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.backup
“`
3. vsftpd.conf dosyasını düzenleyelim:
“`bash
sudo nano /etc/vsftpd.conf
“`
vsftpd.conf içeriğini şu şekilde düzenleyelim:
“`conf
# Temel Ayarlar
listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
# Güvenlik Ayarları
chroot_local_user=YES
allow_writeable_chroot=YES
ssl_enable=NO
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=40100
# Logging
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
# www klasörü için özel ayarlar
local_root=/var/www
user_sub_token=$USER
“`
4. FTP için yeni bir kullanıcı oluşturalım:
“`bash
sudo adduser ftpuser
“`
(Sizden şifre ve kullanıcı bilgileri isteyecek, bunları doldurun)
5. Kullanıcıyı www-data grubuna ekleyelim:
“`bash
sudo usermod -aG www-data ftpuser
“`
6. www dizini için izinleri düzenleyelim:
“`bash
sudo chown -R www-data:www-data /var/www
sudo chmod -R 775 /var/www
“`
7. vsftpd servisini yeniden başlatalım:
“`bash
sudo systemctl restart vsftpd
“`
8. Firewall ayarlarını yapalım (eğer UFW kullanıyorsanız):
“`bash
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 40000:40100/tcp
sudo ufw enable
“`
Artık FTP sunucunuz hazır! Şu bilgilerle bağlanabilirsiniz:
– Host: sunucu-ip-adresi
– Port: 21
– Kullanıcı adı: ftpuser
– Şifre: (oluşturduğunuz şifre)
FTP istemcisi olarak şunları kullanabilirsiniz:
– FileZilla
– WinSCP (Windows için)
– Cyberduck (Mac için)
Güvenlik İpuçları:
1. Güçlü şifreler kullanın
2. Mümkünse SFTP kullanın (daha güvenli)
3. Sadece gerekli dizinlere erişim verin
4. Düzenli olarak log dosyalarını kontrol edin
Örnek bir kullanıcı ve klasör erişimi için; kök dizinideki python klasörüne özel bir kullanıcı erişimi yapacağız.
Python klasörüne erişim için yeni bir FTP kullanıcısı oluşturalım:
1. Yeni bir kullanıcı oluşturalım:
“`bash
sudo adduser pythonuser
“`
(Şifre ve kullanıcı bilgilerini doldurun)
2. Python klasörünüz için (örneğin /python) dizin oluşturalım:
“`bash
sudo mkdir /python
“`
3. Klasör sahipliği ve izinlerini ayarlayalım:
“`bash
sudo chown -R pythonuser:pythonuser /python
sudo chmod -R 755 /python
“`
4. vsftpd.conf dosyasını düzenleyelim:
“`bash
sudo nano /etc/vsftpd.conf
“`
Dosyaya şu satırları ekleyelim (eğer yoksa):
“`conf
# Kullanıcı bazlı dizin yapılandırması
user_sub_token=$USER
local_root=/home/$USER
# Güvenlik ayarları
chroot_local_user=YES
allow_writeable_chroot=YES
write_enable=YES
# Kullanıcı listesi ayarları
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
“`
5. Kullanıcı listesi oluşturalım:
“`bash
sudo nano /etc/vsftpd.userlist
“`
Bu dosyaya kullanıcıları ekleyelim:
“`
ftpuser
pythonuser
“`
6. Python kullanıcısı için özel bir yapılandırma dosyası oluşturalım:
“`bash
sudo mkdir -p /etc/vsftpd/users
sudo nano /etc/vsftpd/users/pythonuser
“`
İçeriği şu şekilde olsun:
“`
local_root=/python
“`
7. Ana vsftpd.conf dosyasına bu kullanıcı yapılandırmasını ekleyelim:
“`bash
sudo nano /etc/vsftpd.conf
“`
Dosyanın sonuna ekleyin:
“`conf
user_config_dir=/etc/vsftpd/users
“`
8. Servisi yeniden başlatalım:
“`bash
sudo systemctl restart vsftpd
“`
9. İzinleri test edelim:
“`bash
sudo -u pythonuser touch /python/test.txt
“`
Artık şu bilgilerle bağlanabilirsiniz:
– Host: sunucu-ip-adresi
– Port: 21
– Kullanıcı adı: pythonuser
– Şifre: (oluşturduğunuz şifre)
Test etmek için:
1. FileZilla veya başka bir FTP istemcisi kullanın
2. Yukarıdaki bilgilerle bağlanın
3. /python dizinine dosya yüklemeyi deneyin
Güvenlik notları:
1. Python klasöründe çalıştırılabilir dosyalar için dikkatli olun
2. Düzenli olarak log dosyalarını kontrol edin
3. Güçlü şifre kullandığınızdan emin olun
10. Debian’a VSCode kurulumunu adım adım yapalım:
1. Önce gerekli bağımlılıkları yükleyelim:
“`bash
sudo apt update
sudo apt install software-properties-common apt-transport-https wget gpg
“`
2. Microsoft GPG anahtarını indirelim ve ekleyelim:
“`bash
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg — dearmor > packages.microsoft.gpg
sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg
“`
3. VSCode deposunu sisteme ekleyelim:
“`bash
sudo sh -c ‘echo “deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main” > /etc/apt/sources.list.d/vscode.list’
“`
4. Paket listesini güncelleyelim:
“`bash
sudo apt update
“`
5. VSCode’u yükleyelim:
“`bash
sudo apt install code
“`
Yararlı VSCode Eklentileri (isteğe bağlı):
Python Geliştirme için:
“`
– Python (Microsoft)
– Pylance
– Python Indent
– autoDocstring
“`
Web Geliştirme için:
“`
– Live Server
– HTML CSS Support
– JavaScript (ES6) code snippets
– ESLint
“`
PHP Geliştirme için:
“`
– PHP Intelephense
– PHP Debug
– PHP Extension Pack
“`
Git için:
“`
– GitLens
– Git History
“`
Genel Kullanım için:
“`
– Material Icon Theme
– One Dark Pro
– Remote — SSH
– Remote Development
“`
VSCode Temel Ayarları:
1. Otomatik kaydetme:
File > Preferences > Settings
– “Files: Auto Save” seçeneğini “afterDelay” yapın
2. Yazı tipi boyutu:
File > Preferences > Settings
– “Editor: Font Size” değerini istediğiniz boyuta ayarlayın
3. Tema değiştirme:
File > Preferences > Color Theme
– İstediğiniz temayı seçin
4. Terminal entegrasyonu:
“`
Ctrl + ` (backtick) ile terminali açabilirsiniz
“`
Temel VSCode Kısayolları:
“`
Ctrl + P : Dosya arama
Ctrl + Shift + P : Komut paleti
Ctrl + , : Ayarlar
Ctrl + B : Kenar çubuğunu gizle/göster
Ctrl + ` : Terminal aç/kapa
Ctrl + / : Satır yorumu
Alt + Up/Down : Satırı yukarı/aşağı taşı
Ctrl + D : Sonraki eşleşmeyi seç
“`
Proje Dizini Açma:
1. VSCode’u başlatın
2. File > Open Folder
3. Proje dizininizi seçin
VSCode’u güncellemek için:
“`bash
sudo apt update
sudo apt upgrade code
“`
VSCode’u kaldırmak için:
“`bash
sudo apt remove code
sudo apt autoremove
“`
Bir yanıt bırakın