Bu İçerikte Bahsedilen Konular
WordPress, Joomla ve benzeri hazır php scriptlerinin yaygınlaşmasıyla beraber daha fazla ilgi çekmeye başlayan linux yapısının değişmezi SSH kavramını ele alacağız.
SSH Nedir ?
SSH, Unix sunucularına bağlanırken TELNET’e alternatif olarak yapılandırılmış, güvenliği arttırılmış bir program yapısıdır. SSH kavramı komut işlemleri için “Secure Shell Client” ve dosya transferleri için “Secure File Transfer Client” yapılarını bünyesinde bulundurur. Bu sayede SSH uzaktaki bir makinada oturum açabilir ve komut istekleriyle makinanın yönetimini gerçekleştirebilir.
SSH Nasıl Kullanılır?
Uzak veya local cihazda SSH kullanımının gerçekleştirilebilmesi için, cihazda “openshh”ın kurulu olması gerekmektedir. Genelde birçok unix işletim sistemi openssh servisini kurulu halde son kullanıcıya sunar. Unix ve SSH kullanıcıları, uzak cihazın yönetimini gerçekleştirebilmek için en çok PUTTY programını tercih etmektedir. Yazının devamında, PUTTY programıyla SSH bağlantısının nasıl yapıldığını ve SSH üzerinden sunucu yönetimi gerçekleştirilirken en çok kullanılan komutları ele alacağız.
Not: Putty programını ücretsiz bir şekilde indirebilmek buraya tıklayabilirsiniz.
Putty programını indirme işleminizi gerçekleştirdiyseniz, şimdi uzak sunucunuza erişimi gerçekelştirebilirsiniz. Aşağıda paylaştığımız ekran görüntüsünde görebileceğiniz gibi, bizi karşılayan putty ekranında Host Name kısmına, erişimi gerçekleştireceğimiz uzak sunucu IP adresini yazıyoruz.
Unix sunucularda default olarak SSH portu 22 olarak gelmektedir. Fakat kullanıcılar Unix güvenlik yapılandırmasını düşünerek standart portun değişikliğini gerçekleştirebilir. Biz testlerimizi 22 portunu baz alarak devam ettireceğiz.
Local veya uzak sunucu IP adresi ve sunucuya ait portu yazarak SSH erişimini gerçekleştiriyoruz. Erişimi sağladığımızda, sizi kullanıcı adı ve şifre gireceğiniz ekran karşılayacaktır. Sunucunuza ait kullanıcı adı ve şifresini yazarak işleminize devam edebilirsiniz.
Uzak veya local sunucumuza erişimi sağladığımıza göre Unix yapısını yönetebilmek için en sık kullanılan komut satırlarını ele alabiliriz. Aşağıda paylaşmış olduğum komutlar, başlangıç seviyesinde sunucu yönetimini gerçekleştirebilmeniz için yeterli olacaktır.
- “/ cd: Dizinle arası dolaşmanıza yardımcı olacak komutur. Örnek komut satırı aşağıdadır.
cd /var/log/httpd/
Paylaştığım komut cd yardımıyla /var/log/httpd/ dizinine erişmenize yardımcı olmaktadır.
- “/ ls: Dizinde bulunan tüm dosyaları siler. Şimdi, bir önceki örnekte paylaşılan komutla LS komutunu birlikte kullanabiliriz.
cd /var/log/httpd/ komutuyla dizine erişebilir ve bir sonraki adımda ls -a komutunu girerek, gizli dosyalarla beraber dizinde bulunan tüm içeriği listeleyebilirsiniz.
Ayrıca işinize yarayabilecek diğer SSH komutları aşağıda listelenmiştir.
- mkdir: Parametre olarak belirteceğiniz isim ile yeni bir klasör oluşturur.
- touch: Parametre olarak belirteceğiniz isim ile yeni bir dosya oluşturur.
- rm: Dosya silmeye yarar.
- rmdir: Belirtilen klasörü silmeye yarar.
- tail: Bir metin dosyasının son birkaç satırını görüntülemek için kullanılır. Tail -f olarak bir log dosyasını parametre verdiğinizde log dosyasının içeriğini canlı olarak izleyebilirsiniz.
- nano: Dosya düzenleme editörüdür. Dosyaları düzenlemek için nano kullanırken nano/etc/php.ini şeklinde açabilir. Fakat unutulmaması gereken bir konu; putty ile herhangi bir conf dosyasında işlem yaptığınızda, kaydederken putty kendi ekranında göründüğü gibi kaydedebilir. Bu durum yazdığınız kodun alt satıra geçmesine ve conf dosyanızın bozulmasına neden olur. Bulunması zor bu sorun ile karşılaşmamak için nano -w dosyayolu şeklinde kullanmaya özen gösterebilirsiniz.
- service: Sunucudaki servisleri başlatmak, durumunu sorgulamak, kapatmak için kullanılır. (service httpd restart apache servisini restart eder )
- ps: Sunucuda çalışan uygulamaları görmenize yarar, ps komutunun birçok parametresi vardır.
PS Komutunun Parametreleri
- kill: PID numarası verilen işlemi durdurur.
- killall: Belirtilen uygulamayı tüm çalışan uygulamaları ile beraber kapatmaya yarar.
- kill -6: PID numarası verilen eggdrop işlemini durdurur.
- who: Sunucuya bağlı kullanıcıları görmeye yarar.
- uname: İşletim sisteminin çekirdek versiyonunu gösterir.
- whoami: Kendi bilgilerinizi gösterir.
- df: Hard disk istatistiklerini gösterir.
- df -i: Sistemdeki inode listesini gösterir.
- watch: Tırnak içerisinde belirteceğiniz komutun sürekli olarak çalışmasını sağlar.
- whatis: Belirtilen komutun açılmasını sağlar.
- scp: SFTP ile dosya transferi veya farklı bir SSH üzerine komut göndermeyi sağlar.
- ftp: FTP bağlantısı ve işlemlerini bu komutla yapabilirsiniz.
- wget: Herhangi bir URL adresinden veri çekmeye yarar.
- passwd: root şifrenizi değştirmeye yarar ardından yeni şifrenizi iki kere girmenizi isteyecektir .
- man: Komut hakkında yardım görüntüler.
- reboot: Sunucunuzu yeniden başlatır.
- shutdown: Sunucunuzun komple kapanması için kullanılır.
- uptime: Sunucunuzun uptime ve load durumunu göstermektedir.
- tar: Dosya sıkıştırma veya sıkıştırılmış dosyaları açmak için kullanılır.