Yanıtlar:
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/www
ubuntu 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:
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 --progress
bayrakla birlikte güzel bir insan tarafından okunabilir şekilde göstermesini söyler . Ayrıca, rsync'e bubblegum.txt dosyasının --partial
bayrağı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 1234
SSH 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_config
ve # port 22
baş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 1234
yukarı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:
Windows paylaşımı, SSH ve FTP gibi çeşitli seçeneklere erişim sağlar :
SSH hakkında daha fazla bilgi için Ubuntu kutunuzdaki konsolda aşağıdaki komutlardan birini kullanabilirsiniz:
man ssh
info ssh
ssh --help
Yerel makinenizdeki dosyalar gibi, Nautilus üzerinden sunucuya göz atmak istiyorsanız:
Git "Dosya" -> "Sunucuya Bağlan"
"Servis Türü" altında "SSH" yi seçin
IP adresini veya etki alanını "Sunucu" altına yerleştirin
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.
sshfs
Yerel 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).
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-keygen
tü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.com
ve ş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 MYUSER
Seç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.
ssh -X -C user@host nautilus --no-desktop
gui modunda gitmek için :)