⛅Sunucu Yönetimi
Uzak sunucu (server) yönetimi, kurulum, yapılandırma ve ssh ile şifresiz bağlanma işlemleri
💻 Sunucu Kiralama
🔗 DigitalOcean sitesi üzerinden hesap açıp GitHub veya Google ile bağlayabilirsin
💳 Kredi kartı bilgilerini verip, 1$ çekim işlemine müsaade ederek sahte bir kullanıcı olmadığını doğrulamalısın
⛅ Hesap kaydı tamamlandıktan sonra herhangi bir sunucu alman gerekmekte
💵 GitHub Student Package alanından alınan Promo code kısmını, sunucu oluşturduktan sonra Billing alanından girmen gerekmekte
🔌 Sunucuya Bağlanma
ssh -l <username> <ip>veyassh <user>:<IP>komutu ile sunucuya bağlanılır ve şifre girilirSunucuya bağlanma sırasında terminal oturumu açılmaktadır
Oturum kapandığında terminal de sonlanır, yani bağlantıdan çıkarsanız tüm işler sonlanır
Bunu engellemek için
sudo apt install tmuxkomutu iletmuxaracını indirin (nohupuğraştırıcı 😢)tmuxile terminal oturumu içerisinde yeni bir process başlatılmakta ve oturum kapansa da devam etmektedir
🔒 Sunucuya Şifresiz Bağlanma
cd ~
$USER = Read-Host 'Username'
$IP = Read-Host 'IP adress'
$KEY_ID = Read-Host 'Key ID'
$KEY_PATH = ".ssh/${KEY_ID}_ecdsa"
ssh-keygen -t ecdsa -b 521 -f ${KEY_PATH}
# Windows için SSH servisini başlatma
Get-Service -Name ssh-agent | Set-Service -StartupType AutomaticDelayedStart
Start-Service ssh-agent
# SSH keyi sunucuya kopyalama ve yetkilendirme
ADDRESS=$USER@$IP
ssh-copy-id -i $KEY_PATH.pub $ADDRESS
# SSH copy çalışmaz ise alttakini deneyin
# $pub = (Get-Content ~/${KEY_PATH}.pub)
# ssh $USER@$IP "mkdir -p ~/.ssh && echo $pub >> .ssh/authorized_keys && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys"
# SSH keyi yerel anahtarlara ekleme (eğer şifre istenirse anahtar eklenmeli)
ssh-add $KEY_PATH
# SSH ile adrese bağlanma
ssh $ADDRESS -A#!/usr/bin/bash
read -p 'Username: ' USER
read -p 'IP adress: ' IP
read -p 'Key ID: : ' KEY_ID
# SSH key oluşturma
KEY_PATH="$HOME/.ssh/${KEY_ID}-ecdsa"
ssh-keygen -t ecdsa -b 521 -f ${KEY_PATH}
# SSH keyi sunucuya kopyalama ve yetkilendirme
ADDRESS=$USER@$IP
ssh-copy-id -i $KEY_PATH.pub $ADDRESS
# SSH keyi yerel anahtarlara ekleme (eğer şifre istenirse anahtar eklenmeli)
ssh-add $KEY_PATH
# SSH ile adrese bağlanma
ssh $ADDRESS -A🧐
ssh ${USER}@${IP}komutu ileOpenSSHvarlığını kontrol edil, tepki veriyorsa vardır🔑
ssh-keygen -t ecdsa -b 521 -f ${KEY_PATH}komutu ilesshanahtarı oluşturunSSH, secure shell anlamına gelir ve uzaktan terminal yönetim protokoldür
SSH anahtarlarından
pubuzantılı olan açık anahtardır ve sunucuya aktarılması gerekirDiğer anahtar kapalı olandır ve paylaşılmaması gerekmektedir
✴️ Bu adımlar sadece Windows kullanıcıları tarafından
powershellüzerinden yapılmalıdır📢
Get-Service -Name ssh-agent | Set-Service -StartupType AutomaticDelayedStartkomutu ilesshservisini gecikmeli olarak otomatik başlatabilmek için yapılandırın👮♂️ Eğer servis otomatik başlatılmazsa her ssh bağlantısı için yeniden başlatmanız gerekir
⚙️
Start-Service ssh-agentkomutu ile ssh servisini başlatın➕
ssh-add ${KEY_PATH}komutu ilesshanahtarınıkeystoresiçerisine ekleyinKapalı anahtarınız
keystoresiçerinde saklanırSunucu bağlantılarında bu anahtar deposu kullanılır
🚚
ssh ${USER}@${IP} "\komutunu yazın ve ardından alttaki komutları girin📂
mkdir -p ~/.ssh && \ile sunucudasshantahtarları dizini yoksa oluşturun➕
echo (Get-Content ${KEY_PATH}.pub) >> .ssh/authorized_keys && \ile açık anahtarınızı sunucuda onaylı anahtar listesine ekleyin🐧
echo \"cat ${KEY_PATH}.pub\" && \komutu ile Linux işletim sistemini kullananlar açık anahtarı ekleyebilir👮♂️
chmod 700 ~/.ssh && \komutu ilesshdizinini yetkilendirin👮♂️
chmod 600 ~/.ssh/authorized_keys"komutu ile anahtarların olduğu dosyaya okunabilmesi için izinleri verin
📢 Eğer sunucu sizden tekrardan şifre istiyor ise, 3. ve 4. adımları uyguladığınızdan emin olun
🖤 Windows Terminal ile Bağlanma

⚙️ Terminal üzerinden resimdeki gibi sunuya bağlanmak için Windows Terminal ayarlarını açın
🔨 Yapılandırma dosyasında
profilesiçerisindekilistalanına alttaki ayarları ekleyin
{
"guid": "{4dc7203f-1c35-4058-8a46-1a2d4989fbe0}", // Eşsiz GUID değeri
"name": "Natro Host", // Sekme adı
"suppressApplicationTitle": true, // Tab ismini sabit yapar
"icon": "%USERPROFILE%/OneDrive/Pictures/Icons/Ico/terminal.ico", // Bu alana belirlediğiniz ikonu koyun
"commandline": "ssh root@<IP>", // IP alanına ip adresinizi yazın
"hidden": false
}✨ Sunucu Paketlerini Yenileme
Sunucuya bağlandıktan sonra yapılacak ilk iş yüklü olan paketleri güncellemek olmalıdır
sudo apt updatevesudo apt upgradekomutları ile paketlerini güncelleyebilirsinÇok fazla paket güncellemelerinden sonra
rebootkomutu ile sistemi yeniden başlatmanız tavsiye edilirPaket yükseltme işlemi sonrasında kullanılmayan veya eski paketleri temizlemek için
sudo apt autoremovekomutunu kullanın
🔏 Git için Şifre Saklama
💁♂️ Her git işlemi için tekrardan giriş yapmak istemiyorsanız bu adım sizin için faydalı olacaktır
📧
git config --global user.email "<email>"ile email adresinizi tanımlayın🤵
git config --global user.name "<username>"le kullanıcı adınızı tanımlayın💼
git config --global credential.helper 'cache --timeout=999999'komutu ile bilgilerinizi saklayın
🕐 Zaman Ayarı Yapma
NTP (network time protocol) ayarlarını yapmak için
apt-get install ntp ntpdatekomutu ilentpdatepaketini kurunntpdate time.ume.tubitak.gov.trile TÜBİTAK NTP sunucusuna bağlantı yapınservice ntp restartkomutu ile yeniden başlatındatekomutu ile tarihi görüntüleyebilirsiniztzselectkomutu ile zaman bölgesini seçenekler arasından de seçebiliriztimedatectl set-timezone Europe/Istanbulkomutu ile direkt olarak Istanbul zaman dilimini ayarlayabilriiz
sudo timedatectl set-timezone Europe/Istanbul
# Yukarıdaki komut hatalı olursa aşağıdakini deneyin
apt-get install ntp ntpdate
ntpdate time.ume.tubitak.gov.tr
service ntp restart
timedatectl set-timezone Europe/Istanbul
# date⏳ tmux ile Uzun Süreli İşlemler
⏳ tmux ile Uzun Süreli İşlemlertmuxkomutu ile yeni bir terminal açtırın ve oraya komutunuzu yazın✲ Ctrl + B, D kısayolu ile ana terminalinize geçin
Artık oturumu kapatsanız bile
tmuxile açılan terminaldeki işlemler devam etmektedirtmux attachkomutu ile son terminale bağlanabilirsinTerminal işini sonlandırmak için ✲ Ctrl + B, : kısayoluna basıp
kill-sessionkomutunu yazın
🐍 Python 3.9 Kurulumu
Sunucularda python3.6 default olarak olur ama
pipvevenvkurulu olmazsudo apt install python3-pipile pip kurulurpippython paketlerinin indirilmesine yardımcı olan araçtır
sudo apt install python3-venvile sanal ortam oluşturma aracı kurulurvenvsanal python ortamları oluşturarak sistemin python paketlerinin bozulmasını engeller
sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
apt install python3-venv python3.9 python3.9-venv
python3.9 -m venv venv
source venv/bin/activate
pip install -r requirements.txt📢 Python 3.9-venv kullanılması için python3-venv paketi gereklidir
Last updated
Was this helpful?