Hello para kumpulan makhluk maya khususnya beginner seperti saya :P, saya akan coba sedikit share ttg cara membuat SSH tunneling yg bisa anda bagi2kan ke temen, pacar, sodara dst yg berfungsi penting utk internet anonymity, sembunyiin ip asli, semacam menghindari pembajakan transmisi data ketika anda beraktifitas secara online, dan tentu saja sesuai pengamatan saya akhir2 ini yaitu untuk… internet gratisan alias gretongan atau mem-bypass aturan2 konyol dari operator :D. Kalo ada yg nyasar ke blog ini karena nyari trik internet gratis [--put operator's name here--] atau nyari ssh (biasa disebut “es teh”) maka maap.. mungkin Anda salah alamat hihihi.
Langsung aja, utk membuat account SSH tunnel caranya sangat mudah. Beberapa bahan yg diperlukan yaitu: sebuah server dg sistem operasi Debian 6 32bit minimal instal, sedikit pengetahuan akan linux (wajib hukumnya!), dan tentu saja koneksi internet hehehe. OK next… sewa saja sebuah VPS murah… ga perlu yg high-end. Atau kalo ada VPS gratisan jg sukurlah, cari aja free trial. Dengan modal dibawah $3 per bulan anda sudah bisa menyewa sebuah VPS utk keperluan SSH tunneling. Ingat, VPS ini ntar hanya utk tunneling jadi ga perlu pake yg spek-nya heboh (ram 128 udah bisa karena ga akan instal macam2 nantinya, tapi perhatikan jatah bandwidth terutama jika anda penggila download).
Kalo bingung dimana cari VPS murah yg recommended, coba saja kunjungi situs
lowendbox.com yg merupakan sebuah blog terupdate berisi ttg penawaran VPS dg harga super terjangkau lengkap dg review dan komeng dari para pengguna baik positip maupun negatip, silakan pilih saja VPS yg dirasa ok. Kadang kalo ga sdg sold-out ada kok yg harganya misal
$1.6 sebulan. Kalo sdg beruntung bahkan ada yg hanya
$1 perbulan.. murah kan ga sampe sepuluh rebu.. ya
sekali2 modal lah gan.. jgn gretongan mulu.
Sebenernya saya ingin memanfaatkan VPS yg saya gunakan utk meng-host blog2 saya sebagai SSH tunnel juga, namun ketika mencoba membuat SSH yg bisa konek via port 443 dan 80 (yg pengguna internet gretongan mgkn paham kenapa port ini haha) saya menemui kendala. Port 443 ga mau konek, port 80… tentu ga semudah menambahkan port-nya di konfig ssh karena port 80 jelas udah terpakai oleh web server (Apache) alias semua blog/situs saya bisa mampus atau error. Saya pernah baca ttg cara mengijinkan konek ke SSH via port-nya web server yaitu 80 (dan https yaitu 443) menggunakan corkscrew.. tapi blum berhasil
..maka sementara saya skip dulu keinginan tsb sambil cari pencerahan. Dan lbh baek saya sewa server Debian utk keperluan SSH tunnel saja.
Setelah VPS aktif, login sbg root dengan tool Putty (utk yg pake windows) atau langsung pake terminal (bagi para pengguna linux), lalu buka berkas konfig ssh yg berlokasi di
/etc/ssh/sshd_config
selanjutnya, tambahkan port2 berapa saja yg ingin Anda gunakan utk konek nantinya. Sebenernya port 22 (default) udah bisa utk tunneling tapi mungkin anda pengen menambah/menggantinya menjadi port 80 (lagi2 ini karena alasan.. internet gratis hihihi –tapi ini dulu skrg internet gratisan via tunneling ke port 80 udah ga bisa kan? hehe), dan ingat jangan cuma port 80 saja, sebaiknya port 22 tetep dipakai dan bbrp port lain sebagai cadangan karena nanti kalo cuma 1 port dan ssh udah direstart, anda login ulang namun anda ga bisa konek via port tsb…
you’re locked out! Gawat kan.. Hehe
..misalnya tambahin port-nya gini nih:
Trus jangan lupa di-save lalu restart ssh nya dengan perintah:service ssh restart
Nah ada yg bilang.. kok command-nya bukan service sshd restart ? Bukan! Inget kita pake Debian, utk Debian dan turunannya perintahnya bener diatas (ssh saja bukan sshd) tapi kalo Anda pake CentOS atau redhat (betul kan?) maka command-nya service sshd restart.
Perhatikan baik2: Pada dasarnya Anda dg user sbg
root udah bisa melakukan tunneling sampe pada tahap ini,
tanpa perlu ngoprek bikin2 group sama user baru.. (bagi yg blum tau caranya ntar dibagian bawah ya), namun… bisa jadi jiwa sosial anda mendadak muncul, atau mungkin ide komersial anda… sehingga Anda ingin membagi akses SSH tunnel ke temen2 anda biar dapat cendol misalnya haha, atau pengen jualan SSH tunnel? Boleh2 saja
…tentu Anda tidak akan memberikan akses root dan password-nya ke org laen (utk keperluan tunneling) karena itu sama saja memberikan kunci brankas Anda kepada seorang (yg mungkin akan jadi) pencuri. Oleh karena itu mari kita bikin akun SSH utk keperluan tunnel yg bisa dibagi2 ke semua org tanpa perlu khawatir ttg keamanan/privacy anda sbg owner dari vps tsb. Langkah pertama, masih sabagai root, buatlah sebuah group dg nama bebas terserah anda misal:
groupadd gretongan
Contoh diatas saya bikin group bernama “gretongan” di sistem VPS saya. Selanjutnya saya akan bikin user yg sifatnya terbatas artinya dia ga akan bisa ngapa2in. Hanya bisa konek SSH utk tunnel saja dan ga bisa login ke VPS via SSH. Kurang lebih mantranya sebagai berikut:
useradd -d /home/kodok -m -g gretongan -s /bin/false kodok
Mantra diatas menyebabkan terciptanya user bernama “kodok” dan dia masuk ke group “gretongan” yg udah dibuat sebelumnya. Si “kodok” ini juga ga mempunyai hak akses ke VPS anda melalui SSH (nanti kalo sudah jadi coba ssh ke server dg user kodok ini, pasti connection closed), intinya kodok cuma bisa menikmati tunneling, bukan yg lain.. ga akan pula bisa tau isi atau konfigurasi vps yg digunakan. Langkah berikutnya, mari berikan password pada user baru tsb:
passwd kodok
Isikan password yg diminta, lalu isikan sekali lagi untuk konfirmasi. OK selesai!!
sekarang Anda bisa gunakan akun SSH tunnel tsb dan bisa Anda bagi2 ke rekan2 yg anda kehendaki, bisa juga anda jual hehe. Atau sembunyiin pake semacam adfly/adfocus (update: adfocus skrg udah jadi SCAM) trus posting di kaskus hihiiihi.
Kalo mau add/nambah user baru caranya cukup diulang saja perintah2 diatas tentunya “kodok” diganti dg username2 baru. Command useradd juga bisa kita beri parameter agar akun yg dibuat expire pada tanggal tertentu, opsi yg ditambahkan yaitu -e YYYY-MM-DD jadi kalo digabung dg yg udah kita coba diatas menjadi:
useradd -e 2013-12-27 -d /home/kodok -m -g gretongan -s /bin/false kodok
Artinya si kodok ini akan habis masa aktifnya diserver pada tanggal 27 Desember 2013, anda bisa sesuaikan tanggalnya sesuka hati dan perhatikan baik2 format tanggal tsb jangan sampai salah. Kalau command ini terlalu panjang dan agak ribet, silahkan saja cek
postingan disini utk cara membuat akun secara semi auto, cukup isikan username dan lama hari aktif (misal 30) dan sistem akan otomatis membuat akun tsb beserta tanggal expirenya, ga perlu lihat kalender.
Apa gerangan yg terjadi jika akun yg bersangkutan sudah lewat masa aktifnya? Akun tersebut akan terkunci dan hasilnya tentu saja tidak bisa lagi login untuk melakukan tunneling. Cara ini efektif pada SSH dg platform OpenSSH seperti yg dibahas pada topik diatas,
TETAPI karena banyak juga yg mengganti peran OpenSSH dg Dropbear (
CentOS atau
Debian) maka ternyata cara ini tidak berjalan! User yg expire masih bisa login ke port Dropbear dan melakukan tunneling sepuas hati.
Banyak seller/admin ssh yg masih memakai model manual yaitu mencatat data pelanggan dg Excel dengan tanggal expirenya, kemudian harus cek tiap hari untuk memastikan jika ada yg expire hari itu dia bisa segera menjalankan command userdel. Cara ini tidak efektif, ingatlah pepatah bahwa sysadmin yg baik adalah sysadmin yg “malas” karena sudah mengoptimlkan server agar bekerja secara auto. Nahh kalo ingin secara ampuh memblokir (lock/delete) user Dropbear yg expired sehingga ga akan bisa login lagi, silahkan baca sesuatu yg
saya tawarkan ini.
Bagi teman2 semua yg blum paham gimana sih cara pake SSH tunneling, berikut ini cara2nya:
Pertama, Jika Anda menggunakan SSH client paling populer bernama Bitvise, maka caranya cukup mudah. jalankan saja program tsb di komputer anda, lalu isikan dibawah tab “login” host (ip address server) kemudian port isikan port berapa anda ingin konek sesuai dg yg sudah dibuat di konfigurasi server SSH di VPS Anda, dibawah bagian Authentication isikan username dan password-nya.
Supaya bisa untuk keperluan tunneling maka klik pada tab “Services” lalu jangan lupa centang pada bagian “Enabled” dibawah “SOCKS / HTTP Proxy Forwarding“. Listen interface-nya isikan 127.0.0.1 dan listen port-nya isiin misalnya 1080 atau brp saja terserah atau default dari Bitvise yaitu 9050. Perhatikan baik2 interface 127.0.0.1 dan port-nya di Bitvise inilah yg nantinya akan digunakan sebagai socks pada pengaturan aplikasi (misalnya browser) nantinya.
Kemudian segera saja klik login pada tombol yg berada dibawah, dan tunggu sampe koneksi tersambung dg sukses yg artinya anda bisa segera menggunakan SSH tunnel ketika online. Kalau ga ada error atau kesalahan maka pada bagian log akan nongol mantra2 jahat seperti dibawah ini:
Maka dari itu… SSH tunnel sudah siap digunakan apakah itu utk menyembunyikan ip asli kita atau sekedar melakukan test internet gratisan hahahaha
Kalo koneknya sukses di bitvise ada lognya gini:
Log diatas baru nongol kalo Anda mulai browsing dst.. kok Closing closing apakah itu pertanda error? Oh bukan.. hmm pokoknya abaikan saja lognya selama masih lancar koneknya.
Cara kedua, selain Bitvise, anda juga bisa pake sebuah program bernama Putty, caranya juga cukup gampang, jalankan saja putty-nya lalu isikan hostname dan port sesuai dg yg telah dibuat, lalu lihat pada bagian kiri.. klik tanda [+] disamping “SSH” lalu klik “Tunnels”, source port isiin dg 9050 atau terserah anda, dibawah “Destination” klik “Dynamic” dan “Auto” seperti berikut:
Selanjutnya klik “open” maka anda akan diminta mengisi login dan password-nya.
UPDATE mengenai Putty: Setelah sekian lama usia postingan ini, seorg agan mengirim email ke saya kalo putty akan closed jika digunakan utk tunneling. Usut punya usut.. eh ternyata masuk akal juga.. Jika Anda menerapkan cara konfigurasi tunneling diatas maka jendela putty akan tertutup sedetik setelah berhasil konek. Why? Ini karena pada tutorial yg saya jabarkan diatas, tidak mengijinkan user utk konek ke server via SSH. Putty masih tetap bisa digunakan sebagai alat tunneling jika Anda adalah owner dari VPS tsb (sebagai root) atau sebagai user yg diberi hak login via SSH.
UPDATE BARU mengenai putty dari bro Arie: Putty TERNYATA bisa dipake utk tunneling meski user yg dibikin tidak punya hak akses login SSH. Caranya yaitu dengan mencentang “Don’s start a shell or command at all”. Seperti gambar dibawah ini:
Next… Ketiga, ini khusus utk pengguna Linux, cukup buka terminal/console saja lalu jalankan perintah, misalnya:
ssh -N -D 9050 kodok@12.34.56.78 -p 80
Setelah selesai menyeting SSH tunnel dg Bitvise ataupun Putty atau via terminal bagi para Linuxers, skrg browser utk keperluan browsing perlu kita setting. Jika anda pake Mozilla Firefox, klik tombol Firefox –> Option –> Advance –> Network –> Settings. Lalu pilih yg Manual blablabla… isiin Socks host nya 127.0.0.1 dan port nya 9050 atau sesuai dg konfigurasi pada Bitvise/Putty sebelumnya.
Inget masbro/om/gan.. isiin 127.0.0.1 atau localhost (127.0.0.1 = localhost)dan port-nya sesuai dg setting di alur sebelumnya. Banyak yg nanya kenapa ga bisa konek meski bitvise statusnya udah connected… usut punya usut (lagi2 harus jd pengusut) ternyata salah pada bagian Firefox malah diisi ip server VPS dan port-nya.. ya jelas kagak akan konek (bijimane logikanyee ntuh? :P). Allright, Begini nih yg bener:
Oh satu lagi agak penting hampir kelupaan.. Untuk para pengguna IDM (Internet Download Manager)… kok ga bisa download? Jangan lupa, bahwa koneksi Anda skrg harus menggunakan jalur socks yg telah dibuat, maka pada IDM perlu diset agar konek ketika download via socks juga. Nah macam gini nih settingnya:
Yang dicentang yang
Use socks, trus isiin tuh localhost atau 127.0.0.1 dan port-nya. Sekarang download pasti ngacirrrr, tapi ini tentu sangat tergantung dg koneksi asli yg Anda pakai ya, umpama cuma dapat sinyal EDGE ya download lagu mp3 sebiji bisa anda tinggal ronda kampung dulu..
misalnya seperti ini contoh speed download saya:
Ooopss malah pamer hehehe :P. OK, done!!! Jika tidak ada masalah dg server SSH tunnel anda ataupun pada konfigurasinya, maka sekarang Anda sudah bisa menyembunyikan ip address tiap kali online dan Anda sudah menikmati online Anonimity. Test saja dg Firefox tsb mengunjungi misalnya situs cmyip.com atau ip2location.com dan lihat pasti skrg ip server SSH anda yg terdetect sebagai ip address koneksi Anda.
Cara lebih sederhana tanpa melakukan setting manual pada Firefox, Chrome ataupun IDM yaitu dengan menggunakan software Proxifier. Setelah konek ke server dengan Bitvise atau Putty, aktifkan Proxifier, tambahkan socksnya yaitu 127.0.0.1 dengan port yg sudah disetting lalu tinggal jalankan program yg ingin dijalankan, tanpa perlu setting manual mengisi 127.0.0.1 dan port-nya lagi. (Hmm.. tapi sepertinya yahoo messenger ga support dg Proxifier)
Lalu… apa sih sebenernya tunneling itu? Apa pula manfaatnya? Kalo akhir2 ini yg namanya SSH tunneling identik dg akses internet gratisan ehehehe maka sebenernya SSH tunnel berfungsi jg sbg internet anonymity alias melindungi data2 anda selama anda konek ke internet. Tunnel berarti terowongan jadi kurang lebih maksudnya bahwa data2 yg anda transmisikan via internet tidak dg begitu saja meninggalkan komputer anda secara polosan tapi melalui sebuah terowongan rahasia yg terenkripsi, sehingga para penyadap yg ada dijaringan atau kalo ga salah istilahnya sniffers hanya akan melihat data acak yg ga bisa dimengerti, bahkan ISP pun tidak bisa menyadap data2 atau log tsb. SSH tunneling adalah cara meningkatkan security ketika beraktifitas di dunia cyber, SSH tunneling bukanlah hal yg baru, usianya udah setua internet itu sendiri mungkin (ya lbh mudaan dikit lah).
SSH tunneling sangat dianjurkan jika Anda sering sekali menggunakan hotspot/wifi publik apalagi utk keperluan yg selalu berkaitan dg password misal email, facebook-an dg pacar sampai ke transaksi online semacam internet banking,
beli pulsa online, belanja online, dan sejenisnya, karena bukan tidak mungkin diantara wifi gratis tsb ternyata ada AP (access point) palsu atau siluman yg dibuat oleh orang yg tidak bertanggung jawab utk mencuri data para pengguna.
Untuk pemilik server, jika ingin tau username yg konek dg esteh tsb bisa menggunakan perintah top, ya sederhana saja kan? perintah top digunakan utk melihat proses2 yg tengah berlangsung, dg mengetikkan top di terminal akan ketahuan pula user mana yg sdg konek dan disitu akan ketahuan yg bersangkutan sdg menjalankan command sshd. Something like this, lihat ada username kodok yg aktip sshd nya kan:
Pengen matiin koneksi ssh si kodok tsb? Matiin aja prosesnya dg perintah
kill -9 [pid] pada contoh di gambar diatas perintahnya akan berupa
kill -9 15528. Nah sesegera sesudahnya si kodok akan diskonek dari server esteh hehehe
Pengen tahu jg user yg aktif tsb konek dari ip asli apa? Gampang.. ketik aja perintah “
netstat -n” di jendela console, hasilnya akan didapat ip asli dari pengguna akun ssh tadi dan akan terlihat pula dia milih konek via port berapa (jika Anda membuat lbh dari 1 port).. Kalo Anda lihat ip dg prefix misal 112.* hehehe ini kemungkinan pengguna XL, atau bisa di copy ip-nya trus search isp-nya via paman google. Web yg sdg aktif dikunjungi jg bisa diketahui… tapi.. sudahlah, Anda sudah membagi akun tsb ke org jadi biarkan dia menikmatinya
lbh baik Anda utak atik hal yg lain dari pada sekedar “mematai” user hihihihihihihii. Atau bisa juga cek user yg sedang aktif seperti cara disini.
Untuk melihat user2 yg udah kita buat beserta tanggal kadaluwarsanya, bisa menggunakan script cek user
disini.
Sekian dan terima kasih. Semoga postingan iseng saya ini bermanfaat hehehe. Kalo ada yg salah mohon koreksinya ya maklum saya cuma pemula
Oia kalo ada yg paham cara konfigurasi corkscrew seperti yg saya singgung diatas tolong kiranya saya diajarin. Hmm.. that’s all dulu deh kaya’nya hehe.
source