SSH (ssh & rsync komutları) nasıl kullanılır?


44

Uzaktaki bir sunucuyla nasıl SSH yapabilirim, böylece dosyalara göz atabilir ve düzenleyebilirim? Kullanacağım bir kullanıcı adı ve şifrem var.

Yanıtlar:


49

SSH varsayılan olarak tüm Ubuntu sürümlerinde gelir, böylece yüklemek zorunda kalmazsınız (zaten orada olması için +1;))

Elbette, Ubuntu sunucunuz için bir SSH sunucusu istemeniz durumunda. Bu durumda

sudo apt-get install openssh-server 

bu da bilgisayarınızı / sunucunuzu bir ssh sunucusu olmaya hazır hale getirmelidir.

Bunu kullanmak oldukça kolaydır:

ssh USER@SITEörneğin, eğer benim kullanıcı adım cyrex ve site ubuntu.com ise, o zaman bunu yaparsınız:

ssh cyrex@ubuntu.com

Şimdi bubblegum.txt, bilgisayarınızdan adlandırılan bir dosyayı ubuntu sitenize kopyalamak istediğinizi ve bu dosyayı /var/wwwubuntu sitesindeki klasörde bırakmak istediğinizi varsayalım. SSH'nin Brother SCP'sini (Ubuntu'da varsayılan olarak da gelir ) kullanarak bunu yapabilirsiniz (kullanıcının ubuntu sitesinde yeterli izinlere sahip olduğunu varsayarak ):

scp bubblegum.txt cyrex@ubuntu.com:/var/www 

:USER @ SITE ile kopyalamak istediğiniz klasör arasında dikkat edin . Her iki elementi de ayırandır.

Şimdi scp ile çok büyük bir dosya yüklediğinizi ve sonra en kötüsünün olduğunu söyleyelim, dünya patlar. Bu dosyayı sunucuya nasıl yükleyebilirsin? Sonra SCP'nin ağabeyi rsync'i (Ubuntu'da varsayılan olarak gelir) elde ettiniz . Birçok yönden scp ve rsync aynı şeyi yapar, ancak işte bunlar arasında bazı büyük farklılıklar vardır:

  • rsync, bağlantı kesilmesinden veya dünya hakimiyetinden sonra rsync veya scp'den ayrılan kısmi dosyaları yükleyebilir.
  • rsync, ilerlemeyi scp'den çok daha iyi gösterebilir
  • rsync, yüklemeyi, yükleme işleminde saniyeler veya dakikalar kaydedebileceğiniz şekilde optimize edebilir. Ayrıca, yükleme işleminin sonunda ne kadar tasarruf sağladığınızı gösterir.

Neyse, scp tüm dosyayı yükleyemedi durumunda burası rsync'in kurtarmaya geldiği yer. (Bahşiş için Marco Ceppi'ye teşekkürler. Kedileri ve / veya köpekleri seviyorsanız yorumunu oyla.)

Diyelim ki scp'den yukarıda belirtilen sözleri yaptınız ve% 60'a ulaştı. Yükleme için harcadığınız zamanı kaybetmeden bu% 60'a nasıl devam edebilirsiniz. Bunu yapardın:

rsync --progress --partial bubblegum.txt cyrex@ubuntu.com:/var/www  

Bu, rsync'e ilerlemeyi --progressbayrakla birlikte güzel bir insan tarafından okunabilir şekilde göstermesini söyler . Ayrıca, rsync'e bubblegum.txt dosyasının --partialbayrağın bulunduğu yere kontrol etmesini ve devam etmesini söyler . Ayrıca -progress ve --partial ile aynı olan -P parametresi ile yazma miktarını basitleştirebilirsiniz, böylece yukarıdakiler şöyle görünür:

rsync -P bubblegum.txt cyrex@ubuntu.com:/var/www  

Yukarıdaki rsync komutunu kullanarak yüklemeyi CTRL+ bile başlatabilir Cve devam ettirebilirsiniz. İstediğin zaman istediğin zaman bir şeye devam edebilme yeteneğine sahip olmak çok güzel.

Varsayılan olarak Ubuntu ile gelen rsync hakkında daha fazla bilgi için aşağıdaki terminal komutlarını yazabilirsiniz:

man rsync  
info rsync  
rsync --help

Şimdi SSH için bir port belirtmek için. Bunu belirtmek için şöyle yapabilirsiniz:

ssh cyrex@ubuntu.com -p PORT. Örneğin: ssh cyrex@ubuntu.com -p 1234SSH hizmeti için Bağlantı Noktası 1234'ü kullanmasını söylemek için. Bunun çalışabilmesi için önce sunucuda yapılandırılması gerekir.

Bunu sadece sunucuda açmak için ssh_config dosyasını şöyle açın : nano /etc/ssh/ssh_configve # port 22başka bir bağlantı noktasına yazan satırı değiştirin . Ayrıca yorumu bu satırdan kaldırmayı da unutmayın. Şuna benzemelidir: port 1234yukarıdaki örnek için.

Şimdi sadece sunucudaki ssh servisini yeniden başlatmanız yeterli. Hizmeti yeniden başlatmak için şunu yapın:

sudo restart ssh

veya

sudo /etc/init.d/ssh restart

NOT - SSH'yi filezilla, ftp yerine ssh kullanma seçeneği sunan GUI araçlarından da kullanabilirsiniz . ssh'ye Ubuntu menüsünden de erişilebilir:

görüntü tanımını buraya girin

Windows paylaşımı, SSH ve FTP gibi çeşitli seçeneklere erişim sağlar :

görüntü tanımını buraya girin

SSH hakkında daha fazla bilgi için Ubuntu kutunuzdaki konsolda aşağıdaki komutlardan birini kullanabilirsiniz:

man ssh  
info ssh  
ssh --help

Ne demek istiyorsun?
Luis Alvarado

23

Yerel makinenizdeki dosyalar gibi, Nautilus üzerinden sunucuya göz atmak istiyorsanız:

  1. Nautilus'u açın ("Ana Klasör")
  2. Git "Dosya" -> "Sunucuya Bağlan"

    Sunucuya bağlan

  3. "Servis Türü" altında "SSH" yi seçin

  4. IP adresini veya etki alanını "Sunucu" altına yerleştirin

    SSH seç

  5. Kullanıcı adınızı ekleyin ve konumun yer imlerinize kaydedilmesini istiyorsanız "Yer imi ekle" yi işaretleyin.

Klasör tam size göre açılmalıdır.


Kubuntu'da kişi Krusader ile aynı şeyi yapabilir .
Adobe

6

sshfsYerel dosya sisteminize uzak bir dizin bağlamak için kullanabilirsiniz .

Https://help.ubuntu.com/community/SSHFS adresine bakın :

Komut Satırı Kullanımı

Şimdi, uzak bir makinede çalışan bir SSH sunucunuz olduğunu varsayarsak, uzak dizini takmak için sadece SSHFS komutunu çalıştırın. Bu örnekte, uzak dizin uzak ana bilgisayardaki / projelerdir. Yerel montaj noktası ~ / far_projects.

mkdir ~/far_projects
sshfs -o idmap=user $USER@far:/projects ~/far_projects

Kaldırmak için,

fusermount -u ~/far_projects

/ Etc / fstab dosyasına eklemek için,

sshfs#$USER@far:/projects /home/$USER/far_projects fuse defaults,idmap=user 0 0

Fstab'ı düzenlerken $ USER adlı kullanıcı adını giriş adınızla değiştirmeniz gerektiğini unutmayın, ancak komut yazarken bu gerekli değildir (kabuk bu durumda sizin için yapar).


4

Ssh sunucusunun kurulu olduğunu varsayarak bir terminal açın ve şunu yazın:

ssh username@hostname

Şifreniz istenir; Sadece gir. Bir port numarasına ihtiyacınız varsa ekleyin -p PORTNUM.


2

Vim, Pico, vb. Kullanabilirseniz, terminali kullanabilirsiniz:

ssh MYUSER@mysite.com

Parolanızı girin ve gireceksiniz. Oradan, normal bir terminal gibi, GUI'niz olmadığı sürece.

Not: '-X' seçeneğini ekleyebilir ve sunucunuzda yapılandırılmış bir X sunucusu varsa , GUI programlarını çalıştırabilirsiniz. Eğer sadece -X eklerseniz isimlerini yazmanız yeterlidir ve bir GUI penceresi açacaktır.

Şimdi, muhtemelen şifresiz giriş yapmak isteyeceksiniz. Zaten bir anahtarınız yoksa, ssh-keygentüm varsayılanlara yazın ve yalnızca enter tuşuna basın. Öyleyse yap ssh-copy-id MYUSER@mysite.com. Bir kez bittiğinde, sadece yazın ssh MYUSER@mysite.comve şifrenizi girmek zorunda değilsiniz!

Kullanıcı adınız Dizüstü bilgisayarınızın kullanıcı adıyla aynıysa, ihtiyacınız yoktur MYUSER@. Sadece yapabilirsin ssh mysite.com. -l MYUSERSeçeneği yerine kullanabilirsiniz .MYUSER@

Bir GUI istiyorsanız, Nautilus bunu yapabilir. ->Sunucuya Bağlan Dosya ->['SSH'yi seçin, daha sonra giriş bilgilerini girin] -> Bağlan.

Sadece tek bir dosyayı kopyalamak istiyorsanız, scp [güvenli kopya] kullanın.
scp MYUSER@mysite.com:path/to/file.dat ./

Bu, "~ / path / to / file.dat" dosyasını geçerli dizine kopyalar. Dikkat edin, bundan sonra bir eğik çizgi veya kiriş :yoksa, ana dizininizdeki [ ~/] gibi davranır . Yüklemek isterseniz, scp ./local_file.dat MYUSER@mysite.com: bu onu ev dizinine koyacaktır.


0

ssh -X -C user@host nautilus --no-desktop gui modunda gitmek için :)


Yerel Nautilus sadece bir SSH paylaşımına bağlanabilir. Nautilus'un uzaktan çalıştırılması gerekli değildir. Aslında bunu yapmayı tavsiye etmem. Yaratıcı öneri, ama yine de -1
Jo-Erlend Schinstad
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.