bagus

hidup itu fana, mati itu abadi

Archive for the ‘brainware’ Category

Automatic login for SSH

with one comment

When I’m out of office, I have to use VPN to connect to company internal network. But I don’t use VPN, instead I’m using SSH tunneling with socks proxy.

Problem is, I have to create a password with token software and input that password to my ssh process. Well I’m too lazy for this, so I create a script to automate the process with bash, awk and expect.

First I have to generate a password from token software (its a CLI one).

token=`echo "myPIN" | /path/to/token/software | awk blablabla`

You have to filter the output with awk so you get the password.

Ok, now I got a variable named $token which contain my token generated password, and looks like expect can’t get this variable. After googling around, I find out that I can use the variable if its exported to environment. So the next step is to export it to environment.

export $token

The last one is to automate ssh login.

expect -c 'spawn ssh -C -D 1080 ssh.server.com; expect assword; send "$env(token)\n";interact'

No, there is no typo in the command. “assword” is use because sometime ssh server return “Password” and sometime “password”. I use “-C” to compress all traffic.

So here is the complete script, named it whatever you want.

#!/bin/bash
token=`echo "myPIN" | /path/to/token/software
export $token
expect -c 'spawn ssh -C -D 1080 ssh.server.com; expect assword; send "$env(token)\n";interact'

Just execute the script and your SSH tunnel is created :)

Written by bagus

March 1, 2008 at 3:00 pm

Posted in brainware, linux, scripting

Tagged with , , , ,

Backup dan Restore HDD di Linux

with 2 comments

Mungkin belum ada tool yang lengkap untuk membackup dan merestore harddisk di Linux seperti Norton Ghost. Kebanyakan tool membackup semua isi harddisk termasuk free space atau hanya membackup partisi tertentu tanpa memberi informasi MBR atau tabel partisi. Ghost4Linux sudah menyediakan tool tersebut dalam satu CD. Dan dari beberapa tool tersebut kita dapat membackup harddisk kita.

dd
Tool ini digunakan untuk membackup semua isi harddisk, jadi bila kita mempunyai harddisk sebesar 20GB maka hasil backup kita akan sebesar 20GB. Mengapa hasil backup akan sama? Karena tool ini akan membackup seluruh harddisk, termasuk data dan free space. Tapi ada cara untuk mengatasi hal ini, tapi saya kurang menyukai cara tersebut. Cara gampang menggunakan dd adalah:

dd if=/dev/sda of=/path/to/backup.img

dimana if adalah input file, of adalah output file. Untuk merestore, kita tinggal membalik urutannya saja :-)

partimage
Partimage digunakan untuk membackup per partisi. Tool ini akan membackup data saja sehingga hasil backupnya kecil dan kita juga dapat mengkompresi hasil backup dengan gzip atau bzip2. Untuk penggunaannya … baca saja manualnya :-D

Oke sekarang kita akan mencoba membackup seluruh isi harddisk, untuk ini kita membutuhkan tool berikut: dd, sfdisk, fdisk, dan partimage. Proses restore hanya bisa dilakukan ke harddisk dengan kapasitas yang sama atau lebih besar, tapi Norton Ghost bisa melakukan ke harddisk yang lebih kecil :-(

Note: Penulis tidak bertanggung jawab apabila ada kerusakan pada data atau harddisk.

Proses Backup

  1. Gunakan OS Linux!
  2. Pasang harddisk, unmount apabila window manager me-mount secara otomatis. Apabila harddisk dipasang langsung ke motherboard kemungkinan besar akan dikenali sebagai /dev/hdb, apabila menggunakan konverter USB to ATA/IDE maka akan dikenali sebagai /dev/sda.
  3. Gunakan fdisk dan sfdisk untuk melihat informasi tabel partisi. Anggap harddisk dikenali sebagai /dev/sda.

    fdisk -l /dev/sda (sebagai root)

    Disk /dev/sda: 40.0 GB, 40007761920 bytes
    16 heads, 63 sectors/track, 77520 cylinders
    Units = cylinders of 1008 * 512 = 516096 bytes

    Device Boot Start End Blocks Id System
    /dev/sda1 * 1 16455 8293288+ c W95 FAT32 (LBA)
    /dev/sda2 16456 36765 10236240 c W95 FAT32 (LBA)
    /dev/sda3 36768 56148 9767520 83 Linux
    /dev/sda4 56148 77520 10771582+ 5 Extended
    /dev/sda5 56148 58125 995998+ 82 Linux swap / Solaris
    /dev/sda6 58125 77520 9775521 b W95 FAT32

    sfdisk -d /dev/sda (sebagai root)

    # partition table of /dev/sda
    unit: sectors

    /dev/sda1 : start= 63, size= 16586577, Id= c, bootable
    /dev/sda2 : start= 16586640, size= 20472480, Id= c
    /dev/sda3 : start= 37061955, size= 19535040, Id=83
    /dev/sda4 : start= 56596995, size= 21543165, Id= 5
    /dev/sda5 : start= 56597058, size= 1991997, Id=82
    /dev/sda6 : start= 58589118, size= 19551042, Id= b

    Simpan informasi tersebut ke dalam file, bisa dengan menggunakan

    fdisk -l /dev/sda > fdisk.txt
    sfdisk -d /dev/sda > sfdisk.txt

  4. Sekarang kita mulai membackup tiap partisi dengan tool partimage, partisi extended dan swap tidak perlu dibackup.

    partimage -z1 -d save /dev/sda1 1.win.sys
    partimage -z1 -d save /dev/sda2 2.win.data
    partimage -z1 -d save /dev/sda3 3.lin.root
    partimage -z1 -d save /dev/sda6 6.win.data2

    Ikuti petunjuk yg muncul setelah mengetikkan perintah di atas. Opsi -z1 adalah untuk mengkompresi hasil backup dengan gzip. Opsi -d untuk tidak memberi deskripsi. Opsi save adalah perintah untuk membackup. Secara otomatis partimage akan menambahkan .000 pada nama backup kita.

  5. Selanjutnya kita akan membackup bagian MBR dari harddisk kita

    dd if=/dev/sda of=mbr.bin count=1 bs=512

  6. Oke proses backup sudah selesai, Anda dapat menyimpan hasil backup ke dalam CD/DVD.

Proses Restore

  1. Kebutuhan sama seperti proses backup.
  2. Pasang harddisk, unmount apabila window manager me-mount secara otomatis.
  3. Pertama kita restore MBR ke harddisk

    dd if=mbr.bin of=/dev/sda count=1 bs=512

  4. Ingat file sfdisk.txt? Kini saatnya menggunakan file tersebut

    sfdisk -n /dev/sda < sfdisk.txt

    Apabila ada pesan error tentang cylinder boundary, pesan tersebut dapat diabaikan. Tapi apabila ada error tentang partisi yang overlap dan berada di luar kapasitas harddisk, error ini harus diperbaiki sebelum melangkah ke tahap selanjutnya.

  5. Tahap selanjutnya adalah mengembalikan tabel partisi dari harddisk

    sfdisk –force /dev/sda < sfdisk.txt

  6. Selanjutnya kita buat partisi swap berdasarkan informasi yang ada di file fdisk.txt

    mkswap -c /dev/sda5

  7. Gunakan partimage untuk me-restore kembali hasil backup

    partimage restore /dev/sda1 1.win.sys.000
    partimage restore /dev/sda2 2.win.data.000
    partimage restore /dev/sda3 3.lin.root.000
    partimage restore /dev/sda6 6.win.data2.000

  8. Beres! Sekarang tinggal coba booting kembali harddisk Anda. Semoga berhasil!

Tips: Knoppix sudah memasukkan aplikasi partimage di dalam CD-nya. Knoppix merupakan live-CD jadi kita tidak perlu menginstal Linux di harddisk terlebih dahulu.

Written by bagus

September 21, 2006 at 1:03 pm

Posted in brainware, linux

Free Hotspot at BEC

with 5 comments

Akhirnya kesampean juga ngejajal koneksi WiFi di Bandung. Setelah mencari-cari informasi free hotspot di Bandung, akhirnya dapat beberapa alternatif yaitu menggunakan hotspot punya Melsa dan di BEC (Bandung Electronic Center).

Pilihan jatuh pada BEC karena sekalian mau membeli CD kosong :) . Dan hasilnya saya bisa posting tulisan ini.

Oke, bagaimana bisa dapet koneksi gratis di BEC. Datang aja ke foodcourt lantai 4, sukur2 sinyalnya sampe ke lantai di bawahnya. Beli makanan *kalo ga mau diusir :) * lalu cari SSID “HotSpot_BEC” tanpa tanda kutip tentunya. Hotspot ini menggunakan DHCP jadi tidak usah maen tebak2an IP. Silakan buka browser dan browsing2 atau buka IM buat ngobrol dengan teman2.

Dari informasi di whatismyip.com ternyata IP providernya adalah 222.124.19.155. Setelah cek dan ricek di dnsstuff.com ternyata IP ini kepunyaan Telkomnet. Ketika mencoba mengupdate paket Ubuntu didapat koneksi sekitar 6 KBps *output dari package update: Fetched 3241kB in 8m52s (6084B/s)* … lumayan untuk koneksi yang gratisan :D

Sekian laporan dan happy surfing!

Written by bagus

August 19, 2006 at 6:40 pm

Posted in brainware, mobile