Download Email (POP3) via fasilitas SSH port forwarding

Selama ini saya perhatikan, kalau pada saat yang bersamaan kita download email dengan browsing situs, maka biasanya download emailnya seperti kalah prioritas. Kadang jadi melambat luar biasa, atau malah kadang-kadang jadi timeout.

Setelah sebal karena download ratusan email kadang bisa butuh waktu berjam-jam, iseng-iseng kemudian saya setup SSH port forwarding di Putty. Jadi, koneksi ke port 110 di localhost akan di-redirect ke port 110 di mailserver.
Supaya tambah mantap, kompresi juga saya enable di Putty.

Saya cukup terkejut ketika kemudian kecepatan download email jadi naik drastis. Proses download email kini tidak lagi tersendat-sendat.

Wah, memang luar biasa SSH ini ya 😀

5 thoughts on “Download Email (POP3) via fasilitas SSH port forwarding

  1. #1,
    saya selalu pakai penerus port ini di Linux untuk mengakses pop3 karena di pabrik ada dalam firewall. skenarionya, saya harus login ke server ssh ssh.proxy untuk kemudian masuk ke server ssh lain yang ada di Internet.

    komputer < --> ssh.proxy < --> ssh.server.publik < --> pop3

    $ ssh user@ssh.proxy -e’`’ -L5000:localhost:6000
    Please enter your next ssh server: ssh.server.publik
    Please enter your username at ssh.server.publik: xxxx
    Please enter your password at ssh.server.publik: yyyy

    seperti ditunjukkan di atas setelah masuk, ssh.proxy akan tanya saya mau masuk mana, lantas saya masukkan nama login dan alamat ssh.server.publik. Setelah itu baru deh nongol shell di ssh.server.publik, nah saat itu saya ketikkan
    karakter escape SSH, yaitu ~C (tilde diikuti huruf C besar) nanti muncul prompt ssh.

    ssh>

    lantas ketikkan: -L6000:pop.server.com:110

    kemudian di program email saya masukkan localhost sebagai server dan 5000 sebagai portnya. lantas ambil deh emailnya.

    Kalau tidak ada ssh.proxy, semuanya lebih sederhana, cukup login ke ssh.server.publik sebagai berikut:

    $ ssh user@ssh.proxy -e’`’ -L5000:pop.server.com:110

    dan tidak perlu lagi ketikkan karakter escape SSH. diagramnya:

    komputer < --> ssh.server.publik < --> pop3

    oh ya angka 5000 dan 6000 di atas dapat diganti sesuka hati (asal >1024 bila dijalankan oleh bukan root dan kurang dari 65535)
    demikian.

  2. #2 – jadi ingat, kalau skenario ini bisa atau tidak ya :

    ssh client —> nat1 —> ssh proxy (?) —> nat2 —> ssh server

    Masalahnya, baik nat1 maupun nat2 tidak ada port yang dibuka / forwarded.

    Kalau TightVNC bisa seperti ini, dengan menggunakan [ nat2nat ]. Tapi untuk SSH saya belum menemukan walaupun sudah mencari kemana-mana.

    Ideas most welcome.

  3. OK, sekarang skenario ini sudah berhasil :

    ssh client —> nat —> ssh server

    Keterangan:

    ssh client – rumah (rumahsaya.com)
    ssh server – kantor (kantorsaya.com)

    kantorsaya.com menggunakan koneksi Internet yang disediakan oleh ISP internet.com, namun koneksi tersebut di-NAT. Sehingga, staff kantorsaya.com bisa mengakses Internet dengan bebas – namun, kantorsaya.com tidak bisa diakses dari Internet (karena IP addressnya private, contoh: 10.0.0.1)

    Agar bisa konek ke kantorsaya.com dari rumahsaya.com :

    1. Jalankan perintah berikut ini dari kantorsaya.com :

    ssh -N -R 20000:localhost:22 -p 22 -l root rumahsaya.com

    2. Maka, kini dari rumahsaya.com bisa konek ke kantorsaya.com dengan mengetikkan perintah berikut ini:

    ssh -p 20000 localhost

    nb:
    1. kantorsaya.com dan rumahsaya.com harus sama-sama ada daemon ssh-nya (sshd)
    2. rumahsaya.com menggunakan firewall, yang memblokir semua port – kecuali port 22

    3. saya membuka port 20000 di rumahsaya.com, lalu mencoba skenario ini:

    laptopsaya.com —> rumahsaya.com:20000 —> kantorsaya.com

    Tapi tidak bisa 🙂

    Saya juga sudah coba redirect port 20001 di rumahsaya.com ke port 20000, lalu mencoba lagi seperti diatas. Tapi juga tetap tidak bisa.
    Jadi, koneksi ke kantorsaya.com betul-betul hanya bisa dilakukan dari rumahsaya.com saja.

Leave a Reply

Your email address will not be published. Required fields are marked *