SSH ve Rsync Kullanımı: .ssh/config Dosyası, Anahtar Oluşturma ve Dosya Aktarımı
ssh, rsync, cloud computing, devops
SSH ve Rsync Kullanımı: .ssh/config Dosyası, Anahtar Oluşturma ve Dosya Aktarımı

📁 .ssh/config dosyası ne işe yarar
.ssh/config dosyası ne işe yararHost my.host
HostName 123.123.32.231
User username
IdentityFile ".ssh/rsa.pem"
ForwardAgent yes
# Tüm sunucular için ortak ayarlar
Host *
ForwardAgent yes
AddKeysToAgent yes.ssh/configdosyasına sunuculara bağlanmak için gerekli bilgileri kaydederizHostNamesunucunun IP adresiUsersunucudaki kullanıcı adıIdentityFilesunucuya bağlanmak için kullanılacak anahtar dosyaAddKeysToAgenttekrardan bağlantılar için anahtarı saklar
ssh my.hostkomutu ile aslındassh -A [email protected] -i .ssh/rsa.pemkodunu yazmış oluruz
🔑 SSH key oluşturup sunucuya yüklemek
#!/usr/bin/env zsh
ADDRESS="[email protected]"
KEY_ID="raspi"
# SSH key oluşturma
KEY_PATH="$HOME/.ssh/${KEY_ID}_ecdsa" # veya _rsa
ssh-keygen -t ecdsa -b 521 -f ${KEY_PATH}
# SSH keyi sunucuya kopyalama ve yetkilendirme
ssh-copy-id -i $KEY_PATH.pub $ADDRESS
# cat $KEY_PATH.pub | $ADDRESS "mkdir -p ~/.ssh; cat >> ~/.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
# Apple keychain üzerine ekleme
# chmod 400 $KEY_PATH
ssh-add --apple-use-keychain $KEY_PATH # Sadece passphrase için çalışır⬇️ Sunucu üzerinden hızlıca dosya indirme
REMOTE="[email protected]"
SOURCE="path"
DESTINATION="path"
scp -r $REMOTE:$SOURCE $DESTINATION
rsync -avzrt --progress "$REMOTE:$SOURCE" "$DESTINATION" 🔄 rsync kullanarak dosya aktarımı
rsync kullanarak dosya aktarımı❌ Bazı Dosyaları Hariç Tutma
💡 Örnek Kullanım
Bu komut
exclude-list.txtdosyasında listelenen dosyaları ve dizinleri hariç tutacaktıraseçeneği arşivleme modunu etkinleştirir, yani dosya meta verilerini (öznitelikleri, izinleri, vb.) korur.vseçeneği etkinleştirilirse, rsync'in ne yaptığını gösterir.zseçeneği etkinleştirilirse, dosyaları sıkıştırır ve yükleme sırasında çıkarır.e sshseçeneği rsync'in SSH ile nasıl bağlantı kuracağını belirtir.E, ile dosya içerisindekiIcongibi bilgiler de aktarılırr, ile alt dizinlerde de ilerlert, dosyanın son değişiklik bilgisini korur
rsync -avz --exclude-from=exclude-list.txt -e ssh /local/path/ user@remote-server:/path/to/destination*.log
/tmp/📚 References
Last updated
Was this helpful?