description |
---|
Uzak sunucu (server) yönetimi, kurulum, yapılandırma ve SSH ile şifresiz bağlanma işlemleri |
ssh -l <username> <ip>
veyassh <user>:<IP>
komutu ile sunucuya bağlanılır ve şifre girilir- Sunucuya 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 tmux
komutu iletmux
aracını indirin (nohup
uğraştırıcı 😢) tmux
ile terminal oturumu içerisinde yeni bir process başlatılmakta ve oturum kapansa da devam etmektedir
{% hint style="info" %} 🧙♂ Detaylı bilgi için How to run a Python script in the cloud? yazısına bakınız {% endhint %}
{% tabs %} {% tab title="✴️ Windows" %} {% code title="ConnectServer.ps1" %}
#requires -PSEdition Core
$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}
Get-Service -Name ssh-agent | Set-Service -StartupType AutomaticDelayedStart
Start-Service ssh-agent
ssh-add ${KEY_PATH}
$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"
{% endcode %} {% endtab %}
{% tab title="🐧 Linux" %} {% code title="connect-server.sh" %}
#!/usr/bin/bash
read -p 'Username: ' USER
read -p 'IP adress: ' IP
read -p 'Key ID: : ' KEY_ID
KEY_PATH="./.ssh/${KEY_ID}_ecdsa"
ssh-keygen -t ecdsa -b 521 -f ${KEY_PATH}
ssh ${USER}@${IP} "\
mkdir -p ~/.ssh && \
echo \"`cat ${KEY_PATH}.pub`\" && \
chmod 700 ~/.ssh && \
chmod 600 ~/.ssh/authorized_keys"
{% endcode %} {% endtab %} {% endtabs %}
- 🧐
ssh ${USER}@${IP}
komutu ileOpenSSH
varlığını kontrol edil, tepki veriyorsa vardır - 🔑
ssh-keygen -t ecdsa -b 521 -f ${KEY_PATH}
komutu ilessh
anahtarı oluşturun- SSH, secure shell anlamına gelir ve uzaktan terminal yönetim protokoldür
- SSH anahtarlarından
pub
uzantılı olan açık anahtardır ve sunucuya aktarılması gerekir - Diğ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 AutomaticDelayedStart
komutu ilessh
servisini 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-agent
komutu ile ssh servisini başlatın - ➕
ssh-add ${KEY_PATH}
komut ilessh
anhtarınıkeystores
içerisine anahtarınızı ekleyin - Kapalı anahtarınız
keystores
içerinde saklanır - Sunucu 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 sunucudassh
antahtarları 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 ilessh
dizinini yetkilendirin - 👮♂️
chmod 600 ~/.ssh/authorized_keys"
komutu ile anahtarların olduğu dosyaya okunabilmesi için izinleri verin
- 📂
{% hint style="info" %} 🧙♂ Detaylı bilgi için
- SSH Login Without a Password
- Starting ssh-agent on Windows 10 fails: “unable to start ssh-agent service, error :1058”
- How to append authorized_keys on the remote server with id_rsa.pub key
- ssh-agent: agent returned different signature type
alanlarına bakabilirsin. {% endhint %}
- NTP (network time protocol) ayarlarını yapmak için
apt-get install ntp ntpdate
komutu ilentpdate
paketini kurun ntpdate time.ume.tubitak.gov.tr
ile Tubitak NTP sunucusuna bağlantı yapınservice ntp restart
komutu ile yeniden başlatındate
komutu ile tarihi görüntüleyebilirsiniztzselect
komutu ile zaman bölgesini de seçebiliriz
{% hint style="info" %} 🧙♂ Detaylı bilgi için Linux zaman sunucusu ayarlama alanına bakabilirsin. {% endhint %}
tmux
komutu 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
tmux
ile açılan terminaldeki işlemler devam etmektedir tmux attach
komutu ile son terminale bağlanabilirsin- Terminal işini sonlandırmak için ✲ Ctrl + B, : kısayoluna basıp
kill-session
komutunu yazın
{% hint style="info" %} 🧙♂ Detaylı bilgi için Getting started with Tmux alanına bakabilirsin. {% endhint %}
- Sunucularda python default olarak olur ama
pip
vevenv
kurulu olmaz sudo apt install python3-pip
ile pip kurulursudo apt install python3-venv
ile sanal ortam oluşturma aracı kurulurpip
python paketlerinin indirilmesine yardımcı olan araçtırvenv
sanal python ortamları oluşturarak sistemin python paketlerinin bozulmasını engeller