SSH uzakta bulunan bir sunucu ile güvenli iletişimi sağlayan bir bağlantı protokolüdür. SSH açık haliyle Secure Shell (Güvenli Kabuk) anlamına gelir. TELNET kullanıcı şifrelerini ve tüm iletişim bilgilerini açık yani şifrelemeden gerçekleştirilirken, SSH sunucu ile arasındaki iletişim bilgilerini kriptografik kodlama sistemiyle şifrelenmiş bir hale dönüştürür. Yani ağ üzerindeki güvenilir olmayan iki sistemin şifrelenerek güvenli bir iletişim kurmalarını sağlar.
SFTP (Secure File Transfer Protocol) Nedir?
Secure FTP (Güvenli Dosya Taşıma Protokolü), yani SFTP, SSH kullanarak dosya transferi yapan ve TCP üzerinden çalışan bir dosya aktarım protokolüdür. SSH’ın sağladığı güvenlik özellikleri, FTP’den farklı olarak SFTP’yi güvenli hale getirir. FTP’nin RSA ile güçlendirilmiş halidir.
Windows – Linux Bağlantısı
Secure Shell Client ile Windows-Linux bağlantısı yapabilir. Bunun için [Ouick Connect] ile Host Name ve User Name bilgilerini girilir. SSH 22 port numarasında çalışmasından dolayı Port Number: 22'dir.
Level I |
Daha sonra bağlantı için belirlenmiş şifreyi girilir.
Level II |
Ve Linux Bash'e belirlenen kullanıcıyla ulaşılmış olur.
Level III |
ssh (secure shell)
ssh ile yaparken kullanıcı ismi belirtilmezse yerel makinedeki kullanıcı isminiz uzak makineye bağlantı sağlanırken kullanılır. Bunu önlemek için:
server_user_name@system_user_name:~$ ssh server_ip server_user_name@server_ip's password:scp (secure copy)
ssh ile dosya transferi yapmak için scp komutu kullanılır.
scp file_name user_name@server_ip:full_path
Kabuk (Shell) Nedir?
Linux'un türetildiği UNIX sistemlerinde komutları yorumlamak ve yönetmek için kullanılan programa kabuk denir. UNIX için geliştirilen en önemli ve en çok kullanılan kabukların başında tcsh, bash (bourne again shell) ve ksh (korn shell) gelir. Bash, Bourne Shell'in biraz daha geliştirilmiş sürümüdür. Tcsh ise C-shell üzerine eklenen yeniliklerle genişletilmiştir. Unix altında, bash kabuğu diğer benzerlerine göre daha fazla özelliğe ve işleve sahiptir. Linux işletim sistemi için de derlenen bash ise hem tcsh, hem de ksh'dan özellikler taşır. Bash kabuğu ilk UNIX sistemlerinde hem sh ve ksh kabukları, hem de bazı csh özellikleri için orjinal olarak geliştirilen özellikleri içerir. Çoğu LINUX sisteminde varsayılan kabuktur.
Her kabuğun kendine özgü programlama dili yapısı vardır. Bash kabuğu ise güçlü programlama özellikleriyle karmaşık programların rahatça yazılmasına izin verir. Mantıksal operatörler, döngüler, değişkenler ve modern programlama dillerinde bulunan pek çok özellik bash kabuğunda da vardır.
Bash komutlarının genel yapısı:
command -options arguments
command: Sistemin yapacağı işlem.
options: '-' işareti ile başlar ve komutun işleyişini değiştirir.
arguments: Komutun işleyeceği girdiler.
Bash Komut Uygulamaları
$ varsayılan kullanıcı olduğunuzu belirtir.
# root kullanıcısı olduğunuzu belirtir.
~ kullanıcının Home dizininde bulunduğunuzu belirtir.
Komutların kısa ya da uzun yazım şekilleri olabilir:
Kısa yazım: - komut adı tek harfi
Uzun yazım: -- komut adı
-h --help komutla ilgili bilgi verir.
Mutlak Yol: root klasöründen başlanarak oluşturulan yoldur (full path).
Bağıl Yol: Bulunulan dizine göre oluşturulan yoldur.
. bulunulan klasör.
.. bir üst klasör.
- bir önceki klasör.
~ kullanıcının Home klasörü.
/ root dizini
pwd (present-print working directory)
Bulunulan dizinin mutlak yolunu (full path) verir.
[btahtacioglu@admin ~]$ pwd /home/btahtacioglucd (change directory)
Dizinler arasında geçiş yapmayı sağlayan komuttur.
[btahtacioglu@admin ~]$ cd / [btahtacioglu@admin /]$ ls bin cgroup etc lib media null proc sbin srv tmp var boot dev home lost+found mnt opt root selinux sys usrls (list)
Bulunulan dizinin içerisindeki dizin ve dosyaları listeler.
ls -l ayrıntılı bir çıktı verir.
ls -a bütün dosyaların gizli gösterilmesini sağlar.
[btahtacioglu@admin ~]$ ls -l total 4 drwxrwxr-x 2 btahtacioglu btahtacioglu 4096 Feb 23 18:40 projeler [btahtacioglu@admin ~]$ ls -a . .bash_history .bash_profile .gnome2 projeler .. .bash_logout .bashrc .mozilla .xemacs
mkdir
(make directory)
mkdir komutu yeni
bir dizin oluşturmak için kullanılır.
[btahtacioglu@admin ~]$ mkdir empty [btahtacioglu@admin ~]$ pwd /home/btahtacioglu [btahtacioglu@admin ~]$ ls empty projeler
rm
(remove)
rm komutu dosya
ya da dizin silmek
için kullanılır.
-i seçeneği ile dosyaların silinip silinmeyeceği ilgili kullanıcıya uyarı ver.
-r seçeneği ile dizinler silinebilir.
-f hiçbir uyarı vermeden silme işlemi gerçekleştirilir.
rmdir komutuyla
da silme işlemi yapabilir.
(Dizin boş olmalıdır.)
[btahtacioglu@admin ~]$ cd /home/btahtacioglu/empty [btahtacioglu@admin empty]$ rm other.txt rm: remove regular empty file `other.txt'? y
cat
(concatenate)
Girdilerin çıktılarını gösterir.
-n --number çıktıları satır
numaraları ile gösterir.
cp
(copy)
Dosyanın diğer bir kopyasını oluşturmak için cp komutu kullanılır.
-i hedef dosyanın üzerine yazılması durumunda uyarı ver.
-r seçeneği ile dizin kopyalama işlemi yapılır.
-f hiçbir uyarı verme.
[btahtacioglu@admin empty]$ cp -i /home/btahtacioglu/empty/other.txt /home/btahtacioglu/projeler [btahtacioglu@admin empty]$ cd [btahtacioglu@admin ~]$ cd /home/btahtacioglu/projeler [btahtacioglu@admin projeler]$ ls mytext.txt other.txt
mv
(move)
Dosyanın ismini değiştirmek ya da bir dosya veya klasörü taşımak için mv komutu kullanılır.
mv komutu dosya ve dizinler için aynı şekilde kullanılır.
[btahtacioglu@admin empty]$ mv /home/btahtacioglu/empty/other.txt /home/btahtacioglu/empty/income.txt [btahtacioglu@admin empty]$ ls income.txt
Diğer Bash Komutları
useradd: Sisteme kullanıcı ekler.
userdel: Sistemde bulunan kullanıcıyı siler.
usermod: Sistemde bulunan kullanıcının özelliklerini değiştirir.
last: Hesabınıza yapılan en son bağlantıyı gösterir.
pico: Belirtilen dosyayı text editör ile düzenlemeyi sağlar.
userdel: Sistemde bulunan kullanıcıyı siler.
usermod: Sistemde bulunan kullanıcının özelliklerini değiştirir.
last: Hesabınıza yapılan en son bağlantıyı gösterir.
pico: Belirtilen dosyayı text editör ile düzenlemeyi sağlar.
Unzip: Zip
ile sıkıştırılmış dosyaları açmanızı sağlar.
lynx: Belirtilen siteyi görüntüler.
df: HDD istatistiklerini gösterir.
quota: Disk kullanımınızı gösterir.
ps –x: Kullanıcının çalıştırdığı işlemleri gösterir.
ps –a: Sunucuda çalıştırılan tüm işlemleri gösterir.
ps –ux: Çalıştırılan işlemlerin CPU/RAM kullanımıyla gösterir.
killall: Belirtilen tüm işlemleri durdurur.
reboot: Sunucuyu yeniden başlatır.
top: Sistem CPU kullanımını gösterir.
lynx: Belirtilen siteyi görüntüler.
df: HDD istatistiklerini gösterir.
quota: Disk kullanımınızı gösterir.
ps –x: Kullanıcının çalıştırdığı işlemleri gösterir.
ps –a: Sunucuda çalıştırılan tüm işlemleri gösterir.
ps –ux: Çalıştırılan işlemlerin CPU/RAM kullanımıyla gösterir.
killall: Belirtilen tüm işlemleri durdurur.
reboot: Sunucuyu yeniden başlatır.
top: Sistem CPU kullanımını gösterir.
Bir sonraki yazımda
görüşmek üzere…