Uzaktan Bağlantı Kurulması

Next: NIS Up: TCP/IP Previous: NFS Kurulumu

# Uzaktan Bağlantı Kurulması

İnternet üzerinde kesinlikle yanlız olmadığınıza göre, kimi durumlarda kendi Linux'unuz dışındaki sistemlere girmek isteyeceksiniz. Bunun için uyarlanmış çeşitli komutlar mevcuttur. Bu komutlar sadece bağlanmak için değil, iki makina arasında birtakım dosya transferi gerçekleştirmek için de kullanılabilir.

Linux (ve UNIX) için ağ uygulamalarında kullanılmak üzere geliştirilen temel olarak iki sistem vardır. Bunlardan UUCP (Unix to Unix CoPy), genel olarak iki makina arasında bir kere bağlantı kurup veriyi iletir ve bağlantıyı kapatır. Eski bir protokol olan UUCP, genellikle modemler arası veri iletişiminde işe yarar.

TCP/IP ise daha önce de belirtildiği gibi yerel ağ veya İnternet üzerinde rahatlıkla kullanılabilen bir protokoldür. TCP/IP 'nin uzaktan bağlantı komutları "r" harfi ile başlar. Örneğin `rlogin` (remote login) bir sistemden diğerine telnet bağlantısı yaparken `rcp` (remote copy) ise bir makinadan diğerine dosya kopyalar. Bu ve buna benzer uzaktan bağlantı komutları iyi bilmeniz size çalışmalarınız sırasında zaman kazandıracaktır.

"`r`" komutlarını kullanabilmeniz için kesinlikle TCP/IP protokolünü tanıyan bir ağ (PPP, Ethernet, SLIP gibi) üzerinde olmalısınız.

rlogin : Geçerli bir hesabınızın olduğu makinaya girmenizi sağlar. telnet komutuyla benzerlik gösterir. Ayrıldıkları nokta, karşıdaki sisteme girerken gerekli konfigürasyonlar yapılırsa şifre sormamasıdır. Bu kısma ileride değineceğim.

Aşağıdaki komut ile hun isimli makinaya giriş yapılıyor.

    $ rlogin hun

Eğer yukarıdaki gibi yazarsanız, hun makinasına ait IP numarası veya bu adresin tam isminin, örneğin `hun.linux.org.tr/etc/hosts` dosyasında yeraldığına emin olmanız gerekir. Karşı makinada bağlanılacak kullanıcı ismi de komut satırından belirlenebilir.

    $ rlogin hun -l httpd
    Password:
    Last login: Fri Feb 21 22:02:46 from metu.linux.org.tr
    Linux 2.0.27.
    $

Yukarıda yaptığımız, metu makinasından hun isimli makinadaki httpd kullanıcısına bağlanmak oldu. Üzerinde Linux çalışan hun makinası doğal olarak bana bu kullanıcıya ait şifreyi sordu. hun makinasında yeralan bir dosya üzerinde değişiklik yaparak istersem şifre sorulmadan anında girilmesini sağlayabilirim. Bunu `.rhosts` (remote hosts) dosyası sağlar.

`.rhosts` dosyasında makinaya bağlanabilecek olan kullanıcılar ve bunların hangi makinalardan bağlanacaklarını gösteren bir liste vardır. Biraz karışık mı oldu? Şu örneği inceleyelim :

    $ uname -a
    Linux hun 2.0.27 #1 Sun Jan 19 13:06:08 EET 1997 i486
    $ whoami
    httpd
    $ cat ~/.rhosts
    metu.linux.org.tr gorkem

Yukarıda hun makinası üzerindeki httpd kullanıcısının çalışma dizininde bulunan `.rhosts` dosyasında iki sütun yeralıyor. İlki, güvenilen makinanın ismi (metu.linux.org.tr ), ikincisi de bu makina üzerindeki güvenilen kullanıcı (gorkem). `.rhosts` dosyası şifrenizi başkalarına vermeden istediğiniz makinadaki bir kullanıcının hesabınızı kullanmasını sağlar. Kısaca bir satırda herhangi bir kullanıcının makina ismi ve hesap ismi bu dosyada varsa, sisteme giriş izni verilir.

Bu aşamadan sonra metu.linux.org.tr adresindeki gorkem kullanıcısı şifre girmeden hun.linux.org.tr adresindeki httpd kullanıcısı olarak çalışmak isterse yapması gereken :

    $ whoami
    gorkem
    $ rlogin hun.linux.org.tr -l httpd
    Last login: Sun Feb 23 11:19:04 from metu.linux.org.tr
    Linux 2.0.27.
    $

Artık hun makinası üzerindeyiz. Şifre girmeden bir makinadan diğerine atlamış olduk. `.rhosts` dosyasında eğer makina ismi yerine "+" işareti kullanılırsa her makinanın veya kullanıcı ismi yerine "+" işareti kullanılırsa her kullanıcının giriş izni olduğu anlaşılır. Makina isimleri yerine IP adreslerini de kullanabilirsiniz. Birkaç örnek :

    144.122.71.55  +
    # (144.122.71.55 makinasi uzerindeki tum kullanicilara giris izni ver)
    + murat
    # Butun makinalar uzerindeki murat kullanicilarina giris izni ver.
    # (Cok buyuk bir guvenlik acigi)

rsh : Bazı durumlarda çalıştığınız makinada dışındaki bir sistemde bir veya birkaç kısa komut çalıştırmak isteyebilirsiniz. Örneğin karşı sistemde kimler, hangi işleri yapıyor veya çalışma dizininde yeralan dosyaları görmek gibi. Bütün bunlar telnet veya rlogin programına gerek duymadan `rsh` (remote shell) ile yapılabilir. Tek şart, üzerinde komut işletilecek makinadaki `.rhosts` dosyasında gerekli makina ve kullanıcı ismi girişi olmasıdır.

Diyelim ki itu.linux.org.tr makinası üzerindeki `/home/gorkem` dizininde yeralan tüm dizin ve dosyaları görmek için :

    $ rsh itu.linux.org.tr ls -al /home/gorkem

komutunu girmelisiniz. `rsh` komutundan sonra uzaktaki sistemin ismi, ardından da çalıştırılacak olan komut gelmelidir. Diğer bir örnek

    $ rsh itu.linux.org.tr cat README | lpr

karşı sisteme giriş yapmadan `README` dosyasını yazıcıdan çıkmasını sağlayacaktır.

Next: NIS Up: TCP/IP Previous: NFS Kurulumu