Linux’da SSH ile Dosya Transferi Nasıl Yapılır?

SSH üzerinden başka bir linux sunucuya ssh ile bağlanarak dosyaları kolayca iki sunucu arasında transferini sağlayabilirsiniz. Bu bir dosya olabileceği gibi birden fazla dosya ile de gerçekleştirilebilecek bir işlemdir. Bu işlemleri SCP komutu ile gerçekleştirebiliriz.

SCP ile dosya nasıl transfer edilir?

Öncelikle bunun için, taşınacak dosyaların bulunduğu sunucuya SSH ile bağlanabilmemiz gerekli. Tabi ki dosyaları karşı sunucuya gönderebilmek için karşı sunucunun da SSH ile bağlanılabiliyor olması gerekmekte.

Örneğin /home/omurtech dizini altında deneme.tar.gz adında bir dosyanız var. Karşı sunucuda /home/linux dizini içine göndermek istiyorsunuz.

Bunu şu şekilde ip adresi 192.168.1.1 olan sunucuya gönderebilirsiniz.(Gönderim yaparken IP adresi sizin göndermek istediğiniz ip adresi olmalıdır. Komutu dosyanızın olduğu sunucuda çalıştırmalısınız.)
Önemli Not: Eğer hedef SSH portu standart olan 22 den farklı ise. -P komutundan sonra ilgili portu yazabilir bu şekilde bağlantı sağlayabilirsiniz.

scp -P22 /home/omurtech/deneme.tar.gz root@192.168.1.1:/home/linux/

Bu komutu yazdıktan sonra şu şekilde bi çıkış olacaktır. Burada SSH keyine güvenip güvenmeyeceğimiz soruluyor. Yes diyoruz

[root@srv home]# scp -P22 /home/*.tar.gz root@192.168.1.1:/home/admin/
The authenticity of host '192.168.1.1 (192.168.1.1)' can't be established.
RSA key fingerprint is 69:99:6b:a3:34:23:b6:ec.
Are you sure you want to continue connecting (yes/no)? yes

Daha sonrasında sizden karşı sunucunun ssh şifresini isteyecektir. Biz root@192.168.1.1 dediğimiz için root kullanıcısının şifresini giriyoruz bu alanda. Enter ile devam ettikten sonra dosyalarımız karşı tarafa aktarılacaktır.

1- Eğer Klasör içindeki tüm dosyaları göndermek isterseniz.

Klasör İçindeki Tüm Dosyaları SCP ile Göndermek

scp -P22 /home/omurtech/* root@192.168.1.1:/home/linux/

2- Klasör içindeki tüm .tar.gz dosyalarını göndermek isterseniz

Klasör İçindeki Tüm .tar.gz Dosyaları SCP ile Göndermek

scp -P22 /home/omurtech/*.tar.gz root@192.168.1.1:/home/linux/

Böylelikle dosyanın kopyalanacağı sunucudan karşı sunucunun /home/linux dizini içine dosyaları kopyalamış olduk.