SSH SCP Yerel dosyası Terminal Mac Os X'te Remote'a


90

Yerel makinemden 'magento.tar.gz' yerel dosyasını SSH kullanarak bir VPN aracılığıyla uzak bir sunucuya kopyalamaya çalışıyorum. Bu, burada xx.xxxx olarak kullandığım Sanal Makinenin Dahili IP'sine bağlanıyor.

SSH hesabında tam 'sudo' erişimim var, bu yüzden kopyalamada herhangi bir sorun olmamalı. Aşağıdakileri denedim:

Aşağıdakileri denedim (magento.tar.gz dosyası zaten yerel kök dizininde)

sudo scp magento.tar.gz user@xx.x.x.xx/var/www/

Bu yerel parolamı yazmamı istiyor. Daha sonra dönercp: user@xx.x.x.xx/var/www: Not a directory

sudo scp /Users/myname/magento.tar.gz user@xx.x.x.xx/var/www/

Aynı şekilde döner.

Oraya herhangi bir yere bir SSH eklemem gerekiyor mu?

Önce siteye SSH aracılığıyla bağlanmam gerekir mi?

Ek not: SSH aracılığıyla sunucuya bağlanmayı, dizine göz atmayı ve bir klasör oluşturmayı ve sudo mkdirvb. Kullanarak silmeyi başardım, bu yüzden kesinlikle izinlerim var.

Yanıtlar:


204

İlk olarak, :yolun aşağıdaki olduğunu belirtmek için IP adresinden sonra eklemeniz gerekir :

scp magento.tar.gz user@xx.x.x.xx:/var/www

Ne gerek sanmıyorum . Bu durumda uzak makineyi etkilemez, sadece yerel komutu etkiler.sudoscp

Sizin Sonra user@ xx.xxxx yazma erişimi yok /var/wwwo zaman 2 kere bunu yapmak gerekir:

Ana klasörünüzdeki uzak sunucuya kopyalayın ( :uzak ana klasörünüzü temsil eder, :subfolder/gerekirse kullanın veya :/home/user/tam yol için kullanın ):

scp magento.tar.gz user@xx.x.x.xx:

Ardından SSH ve dosyayı taşıyın:

ssh user@xx.x.x.xx
sudo mv magento.tar.gz /var/www

Teşekkürler. İki nokta üst üste ile denedim ancak İzin reddedildi - Tam sudo erişimim olduğu için İzinlerin bir sorun olmaması gerektiği konusunda bilgilendirildim.
James

1
Teşekkürler!!! / Home / username - scp magento.tar.gz user@xx.xxxx: / home / username / hile yaptı!
James

19

Sadece JScoobyCed tarafından verilen cevabı açıklığa kavuşturmak için, scp komutu dosyaları yönetici izni gerektiren dizinlere kopyalayamaz. Ancak, uzak kullanıcıya ait dizinlere kopyalamak için scp komutunu kullanabilirsiniz.

Bu nedenle, kök ayrıcalıkları gerektiren bir dizine kopyalamak için, önce scp komutunu kullanarak bu dosyayı uzak kullanıcıya ait bir dizine kopyalamanız gerekir. Ardından, ssh kullanarak uzak hesapta oturum açmalısınız. Giriş yaptıktan sonra, sudo mv komutunu kullanarak dosyayı seçtiğiniz dizine taşıyabilirsiniz. Kısaca kullanılacak komutlar aşağıdaki gibidir:

Scp kullanarak, dosyayı uzak kullanıcının hesabındaki bir dizine kopyalayın, örneğin Belgeler dizini:

scp /path/to/your/local/file remoteUser@some_address:/home/remoteUser/Documents

Ardından, ssh kullanarak uzak kullanıcının hesabında oturum açın ve ardından sudo kullanarak dosyayı kısıtlı bir dizine taşıyın:

ssh remoteUser@some_address
sudo mv /home/remoteUser/Documents/file /var/www

0

Dosya adınızın da içlerinde olmadığını izleyin :. Yapmak zorunda olduğumu öğrendim mv blah-07-08-17-02:69.txt no_colons.txtve sonra sunucuya geri dönmeyi scp no-colons.txt server:unutma mv. Bunun bir sorun olması ihtimaline karşı.


1
./Yerel adın önüne eklerseniz bu sorun olmazscp ./blah-07-08-17-02:69.txt server:
Anders Tornblad
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.