Menurut Wikipedia, Secure Shell (SSH) adalah sebuah protokol jaringan kriptografi untuk komunikasi data yang aman, login antarmuka baris perintah, perintah eksekusi jarak jauh, dan layanan jaringan lainnya antara dua jaringan komputer. Ini terkoneksi, melalui saluran aman atau melalui jaringan tidak aman, server dan klien menjalankan server SSH dan SSH program klien secara masing-masing.
Sedangkan menurut Ari Pratama, SSH atau Secure Shell adalah sebuah protokol jaringan yang terenskripsi untuk menjalankan shell sessions atau bisa juga disebut terminal ( text based ) dengan aman, tidak bisa terbaca oleh orang lain.Dengan SSH, kita dapat menjalankan sebuah perintah pada mesin tujuan tanpa berada didekat mesin tujuan ataupun secara langsung menggunakan mesin tujuan, istilahnya Remote. User juga bisa membuat jaringan yang tidak aman ( seperti pada jaringan publik, wifi, dll ) menjadi jaringan yang aman, karena terkoneksi melalui SSH Tunneling. Jadi website, account, dll yang kita input tidak akan tercatat pada log di router ataupun server.
Protokol spesifikasi membedakan antara dua versi utama yang disebut sebagai SSH-1 dan SSH-2.
Aplikasi yang paling terkenal dari protokol ini adalah untuk akses ke akun shell pada sistem operasi mirip Unix, tetapi juga dapat digunakan dengan cara yang sama untuk akun pada Windows. Ia dirancang sebagai pengganti Telnet dan protokol remote shell lainnya yang tidak aman seperti rsh Berkeley dan protokol rexec, yang mengirim informasi, terutama kata sandi, dalam bentuk teks, membuat mereka rentan terhadap intersepsi dan penyingkapan menggunakan penganalisa paket.[2] Enkripsi yang digunakan oleh SSH dimaksudkan untuk memberikan kerahasiaan dan integritas data melalui jaringan yang tidak aman, seperti Internet.
Fungsi SSH
Fungsi SSH dapat digunakan untuk menggantikan telnet, rlogin, ftp dan rsh, salah satu fungsi utamanya adalah untuk menjamin keamanan dalam melakukan transmisi data pada suatu jaringan. SSH banyak dimanfaatkan oleh berbagai network admin dibeberapa belahan dunia untuk mengontrol web dan jenis jaringan lainnya seperti WAN. Fuungsi SSH ini sebenarnya adalah dibuat untuk menggantikan protokol sebelumnya yang dianggap sangat rentan terhadap pencurian data melalui malware berbahaya. Protokol tersebut antara lain adalah rlogin, telnet dan protokol rsh.
Fungsi lain SSH adalah :
- Melakukan enkripsi terhadap data yang dikirim,
- Protokol untuk pertukaran data dalam suatu jaringan,
- Otentifikasi, mekanisme untuk memastikan pengirim dan penerima adalah benar dan aman
- Kerahasiaan, memastikan kerahasiaan daya yang dikirim agar hanya diketahui oleh penerima dan pengirim.
Manfaat menggunakan SSH
Manfaat menggunakan akun SSH adalah meningkatkan keamanan data pada komputer Anda ketika mengakses internet, karena dengan adanya Akun SSH sebagai perantara koneksi internet Anda, SSH akan memberikan enskripsi pada semua data yang terbaca, baru mengirimkannya ke server lain.
Selain dapat melakukan enskripsi data, SSH juga memiliki kemampuan melakukan Port Forwarding yang mana memungkinkan kita mendapatkan manfaat sebagai berikut ini:
- Melakukan koneksi aplikasi TCP (misalnya : webserver, mail server, FTP server) dengan lebih secure (aman)
- Melakukan koneksi dengan membypass (melewati) firewall atau proxy setempat.
Manfaat kedua diatas itulah yang sering dicari oleh para pengguna Internet dan memanfaatkannya untuk kepentingan akses internet. Dengan menggunakan Akun SSH Kita juga dapat mengelola VPS untuk dijadikan hosting ataupun fungsionalitas yang lain.
Menggunakan Akun SSH untuk tunneling koneksi internet Anda memang tidak menjamin meningkatkan speed internet Anda. Namun dengan menggunakan Akun SSH, otomatis IP yang Anda gunakan akan bersifat statis dan dapat Anda gunakan secara privat dengan catatan hanya Anda lah user dalam Akun SSH tersebut.
Protocol SSH ini memiliki banyak fungsi, selain fungsi tunneling yang sering kita gunakan, kita juga bisa menggunakan SSH untuk SFTP, SOCKS4/5 proxy atau bisa juga kita gunakan untuk mengatur VPS atau hosting milik kita khususnya VPS dengan OS Linux seperti CentOS.Untuk menggunakan tunneling menggunakan SSH ini kita bisa mengguankan SSH client seperti Bitvise Tunnelier ataupun Putty untuk sistem operasi Windows.
Untuk mendapatkan akun dan penggunaan dari SSH ini, kita bisa mendapatkan akun SSH gratis di cjb.net atau jika kita memiliki VPS biasanya pihak penyedia memberikan juga SSH untuk pengaturan VPS kita.
Kegunaan SSH
SSH dirancang untuk menggantikan protokol telnet dan FTP. SSH merupakan produk serbaguna yang dirancang untuk melakukan banyak hal, yang kebanyakan berupa penciptaan tunnel antar host. Dua hal penting SSH adalah console login (menggantikan telnet) dan secure filetransfer (menggantikan FTP), tetapi dengan SSH anda juga memperoleh kemampuan membentuk source tunnel untuk melewatkan HTTP,FTP,POP3, dan apapun lainnya melalui SSH tunel.
Public Key Cryptografi (Kriptografi Kunci Publik)
SSH menggunakan metode public-key cryptography untuk mengenkripsi komunikasi antara dua host, demikian pula untuk autentikasi pemakai. Dengan metode ini, kita akan memerlukan 2 buah kunci berbeda yang digunakan baik untuk melakukan enkripsi dan dekripsi. Dua buah kunci tersebut masing-masing disebut public key (dipublikasikan ke publik/orang lain) dan private key (dirahasiakan/hanya pemiliknya yang tahu). Masing masing kunci di atas dapat digunakan untuk melakukan enkripsi dan dekripsi.
Cara kerja SSH
Public/private key yang masing-masing menjadi identitas SSH bagi keduanya.
Langkah-langkah koneksinya adalah sebagai berikut :
Langkah 1
Client bind pada local port nomor besar dan melakukan koneksi ke port 22 pada server.
Langkah 2
Client dan server setuju untuk menggunakan sesi SSH tertentu. Hal ini penting karena SSH v.1 dan v.2 tidak kompatibel.
Langkah 3
Client meminta public key dan host key milik server.
Langkah 4
Client dan server menyetujui algoritma enkripsi yang akan dipakai (misalnya TripleDES atau IDEA).
Langkah 5
Client membentuk suatu session key yang didapat dari client dan mengenkripsinya menggunakan public key milik server.
Langkah 6
Server men-decrypt session ky yang didapat dari client, meng-re-encrypt-nya dengan public key milik client, dan mengirimkannya kembali ke client untuk verifikasi.
Langkah 7
Pemakai mengotentikasi dirinya ke server di dalam aliran data terenkripsi dalam session key tersebut. Sampai disini koneksi telah terbentuk, dan client dapat selanjutnya bekerja secara interaktif pada server atau mentransfer file ke atau dari server. Langkah ketujuh diatas dapat dilaksanakan dengan berbagai cara (username/password, kerberos, RSA dan lain-lain).
(Sumber)
0 comments