Mengenal SSH Lebih Lanjut
SSH tidak hanya sekadar dapat digunakan untuk menjalankan perintah di komputer lain dalam lingkungan kerja yang aman. SSH sendiri memiliki banyak sekali fungsi, dan dengan mengenal SSH lebih baik, kita bisa lebih memanfaatkannya untuk menjaga sistem kita dari pihak yang tidak bertanggung jawab, ataupun untuk dapat bekerja lebih mudah.Secure shell saat ini merupakan program standar untuk menjalankan perintah di komputer lain dengan aman. Hampir semua distro Linux telah memaketkan SSH ke dalam distronya. Dan, umumnya, SSH Daemon pun telah dijalankan pada saat booting. Dengan demikian, pengguna di komputer lain dapat terhubung ke suatu komputer lainnya dengan mudah, tanpa harus menjalankan service tambahan. Apabila distro Anda masih belum memaketkan SSH, download-lah di website OpenSSH di http://www.openssh.com. SSH dibangun untuk mengatasi kelemahan aplikasi semacam telnet yang mengirimkan data dalam plain-text, sehingga dapat disniff oleh pihak yang tidak bertanggungjawab. Pada kenyataannya, tidak hanya telnet yang digantikan oleh SSH. Namun, juga termasuk rlogin, rsh, rexec, dan ftp. Hari demi hari, SSH juga kian bertumbuh semakin lengkap. Saat ini, banyak sekali service di Linux yang mengirimkan data menggunakan bantuan SSH. Melihat sebentar ke belakang, SSH. com memulai pengembangan SSH original dan melisensikannya di bawah lisensi open source. SSH kemudian menuai sukses dibandingkan dengan deslogin ataupun telnet-ssl (telnet yang melewati koneksi aman) karena kecanggihan dan kemudahan penggunaannya. Sayangnya, beberapa tahun kemudian, SSH.com membangun SSH2 dan melisensikannya di bawah lisensi yang berbeda. Lisensi yang hanya mengizinkan penggunaan bebas untuk lingkungan kerja non komersial. SSH2 ini sebenarnya sangat baik karena dibangun ulang mulai
dari level protokol. Source code-nya pun ditulis ulang. Tidak puas dengan kondisi lisensi demikian, orang-orang di belakang Open- BSD kemudian mengambil kode SSH1 dan mengimplementasikan semua fi tur SSH2 dan melisensikannya di bawah lisensi open source, dan menyebutnya sebagai OpenSSH.
OpenSSH inilah yang kita pakai di Linux. Sebenarnya, selain Linux, berbagai sistem operasi juga telah memasukkan OpenSSH ke dalam instalasi default, seperti *BSD, Solaris dan MacOS. Satu hal yang perlu dicatat di sini adalah SSH sendiri merupakan protokol yang memiliki banyak implementasi. Ada implementasi yang proprietary dan implementasi yang free. Masing-masing memiliki kelebihan dan kekurangannya sendiri.
Bagaimana SSH bekerja? Setiap koneksi akan dienkrip dengan session key yang akan berubah secara periodik. Beberapa pendekatan kriptografi dilakukan untuk memastikan bahwa kita benar-benar terhubung ke server yang diinginkan dan tidak ada orang dite ngah-tengah yang mencuri data. Setiap server memiliki pasangan key public/private dan setiap kali koneksi, client akan memeriksa apakah key dari server telah berubah atau tidak. Apabila berubah, client akan menolak untuk melakukan koneksi karena ada kemungkinan percobaan tindak kejahatan. Lebih lanjut, berikut ini, kita akan membahas beberapa isu yang cukup menarik seputar penggunaan SSH. SSH1 versi 1Saat ini, SSH2 sudah cukup banyak digunakan.OpenSSH yang terinstal di sistem umumnya mendukung kedua versi SSH
tersebut, namun beberapa implementasi secara default akan berbicara menggunakan protokol versi 2. Berikut ini, kita akan membahas sedikit seputar protokol versi 1.
Sebelum pembicaraan terjadi, SSH client dan server harus memulai koneksi yang aman. Dalam proses ini, ada proses pertukaran key, password, dan data lainnya. Berikut ini adalah proses-proses bagaimana koneksi aman dilakukan pada SSH1: Client menghubungi server. Ini adalah proses yang sangat sederhana, di mana client mengirimkan request ke port 22 (port standar SSH) milik server. Client dan server saling melihat protokol yang digunakan. Protokol direpresentasikan dalam karakter ASCII. Untuk melihat versi protokol yang digunakan, Anda juga bisa memanfaatkan telnet ke port 22. Client dan server kemudian menggunakan
protokol berbasis paket (packetbased protocol). Data di-transport dalam protokol TCP.
Server memberikan informasi dirinya kepada client dan menyediakan beberapa parameter session. Lebih detail, serverakan mengirim informasi berikut ini dalam kondisi tidak terenkripsi: Host key server, untuk membuktikani dentitas host server Server key server, untuk membantu membuat koneksi aman. Urutan 8 byte random, yang disebut check bytes, Client harus mengikutsertakan check bytes ini pada respon berikutnya, atau server akan menolak respon dari client. Daftar enkripsi, kompresi dan metode authentikasi yang didukung oleh server. Client mengirimkan secret key ke server.
Secret key ini juga merupakan session key pertama. Di sini, akan terdapat
enkripsi ganda untuk memastikan hanya server yang dituju yang dapat membaca apa yang dikirimkan.
Program yang datang bersama SSH Berikut ini adalah program yang datang
bersama paket openssh: scp, untuk melakukan pengopian fi le antar host dengan aman.
Sftp, sebagai ftp client yang aman. Slogin, program untuk melakukan remote login. Program ini ditujukan untuk menggantikan rlogin. Ssh, program secure shell, berguna untuk menjalankan perintah di host lain dengan aman. Ssh-add, program yang berguna untuk menambahkan identitas RSA dan DSA kepada agen authentikasi, ssh-agent. Ssh-agent, program yang berguna untuk
menjaga private key yang digunakan untuk authentikasi menggunakan public key.
Ssh-copy-id, berguna untuk menginstal identity.pub ke authorized_keys komputer lain. Ssh-keyconverter, berguna untuk mengkonversi public dan private key RSA yang digunakan pada SSH1 ke format yang digunakan oleh SSH2. Ssh-keygen, program untuk membuat key authentikasi dan melakukan pengaturan
lebih lanjut. Ssh-keyscan, program yang berguna untuk mendapatkan public ssh host key
host-host lain. Sshd, ssh server. Sftp-server, subsystem ssh yang berfungsi sebagai sftp server. Program ini tidak ditujukan untuk dipanggil langsung, melainkan sebagai subsystem sshd. Dengan satu paket OpenSSH, Anda sudah dapat melakukan berbagai pekerjaan remote dengan cara yang sangat mudah dan sekaligus aman. Menjalankan perintah secara remote, meng-copy fi le antar-host dan melakukan manajemen sistem lanjutan dapat dilakukan dengan hati tenang. Berikut ini adalah contoh penggunaan scp dan sftp, sebagai cara untuk transfer file yang aman. SCP Program ini berguna untuk meng-copy fi le antar host. Kita dapat mengopi dari lokal ke remote ataupun remote ke lokal. Contoh pengopian fi le lokal ke remote:
$ scp -r a nop@192.168.0.1:/tmp/
Password:
Contoh pengopian fi le remote ke lokal:
$ scp -r nop@192.168.0.1:/tmp/a .
Password:
Sebagai catatan, opsi -r digunakan untuk pengopian secara rekursif.
SFTP
SFTP adalah program yang berfungsi sebagai ftp client yang secure. Cara penggunaannya
sama seperti halnya dengan penggunaan ftp client biasa. Sebagai contoh:
sftp nop@192.168.0.1
Connecting to 192.168.0.1…
Password:
sftp> ls -l
-rwxr–r– 1 mei users
32814 Jul 8 19:36 0300469981.
jpg
drwxr-xr-x 2 nop users
80 Jan 15 2005 Documents
drwxr-xr-x 5 nop users
120 Apr 22 22:58 GNUstep
lrwxrwxrwx 1 nop users
24 Jan 3 2005 KEANTSYSTEMS
drwxr-xr-x 5 nop users
416 May 1 01:27 OpenOffice.
org1.1
-rwxr–r– 1 nop users
600 Jan 21 09:20 PUTTY.RND
drwxr-xr-x 2 nop users
48 Jan 3 2005 bin
drwx–x–x 13 nop users
488 Jan 21 17:27 profile
drwxr-xr-x 2 nop users
80 Jan 3 2005 public_html
sftp> bye
Sebagai catatan, sftp menyediakan perintah dasar untuk bekerja dengan fi le. Perintahnya
tidak akan selengkap ftp client konvensional.
X over SSH
Istilah lain yang umum digunakan adalah SSH X forwarding. Seperti diketahui, X adalah sistem kompleks yang mengizinkan remote display dari komputer satu ke komputer lain melewati jaringan secaratransparan. Sayangnya, X sendiri cukup terbuka untuk diserang oleh kalangan penjahat cyber. Di sinilah peran SSH. Setiap data yang melewati SSH akan dienkrip sebelum dikirimkan. Bagaimana X forwarding bekerja? Sebuah ssh client meminta X forwarding pada saat terhubung ke SSH server (diasumsikan X forwarding telah diaktifkan di client). Apabila server mengizinkan X forwarding pada koneksi tersebut, maka proses login akan berjalan normal. Server akan mengatur beberapa langkah tambahan yang transparan bagi user. Sebagai tambahan dalam menangani sesi terminal, server akan mengatur dirinya sebagai X proxy server
yang berjalan pada mesin remote dan akan mengatur variabel DISPLAY di remote shell yang mengacu kepada proxy X tersebut. Secara sederhana, SSH server kemudian akan berpura-pura sebagai X server.
Pada saat Anda menjalankan X client, client tersebut akan terhubung ke X proxy. Proxy kemudian akan bertindak seolah-olah seperti X server yang sesungguhnya dan akan meminta kepada SSH client untuk bertindak sebagai client X proxy untuk kemudian akan melakukan koneksi ke X server. Client dan server SSH kemudian akan bekerjasama untuk melewatkan informasi protokol X bolak balik melalui SSH di antara
dua sesi X. Sebagai catatan, untuk mengaktifkan X forwarding pada client, editlah fi le /etc/ssh/
ssh_confi g dan berikan nilai Yes untuk opsi ForwardX11.
Bagi Anda yang lebih suka menggunakanVNC daripada X, maka seperti halnya X
forwarding, kita juga bisa menerapkan hal yang sama, koneksi melalui SSH. Beberapa pihak memiliki argumen yang mengatakan bahwa VNC forwarding masih lebih aman dibandingkan dengan X forwarding. Satucatatan, selalu gunakan VNC forwarding apabila Anda harus membuka data rahasialewat jaringan. Informasi mengenai VNC bisa didapatkan di realvnc.com.Pembahasan mengenai SSH X forwardingakan dilakukan secara terpisah. Verbose untuk informasi lebih lanjut Apabila Anda membutuhkan informasi
SSH tidak hanya sekadar dapat digunakan untuk menjalankan perintah di komputer lain dalam lingkungan kerja yang aman. SSH sendiri memiliki banyak sekali fungsi, dan dengan mengenal SSH lebih baik, kita bisa lebih memanfaatkannya untuk menjaga sistem kita dari pihak yang tidak bertanggung jawab, ataupun untuk dapat bekerja lebih mudah.Secure shell saat ini merupakan program standar untuk menjalankan perintah di komputer lain dengan aman. Hampir semua distro Linux telah memaketkan SSH ke dalam distronya. Dan, umumnya, SSH Daemon pun telah dijalankan pada saat booting. Dengan demikian, pengguna di komputer lain dapat terhubung ke suatu komputer lainnya dengan mudah, tanpa harus menjalankan service tambahan. Apabila distro Anda masih belum memaketkan SSH, download-lah di website OpenSSH di http://www.openssh.com. SSH dibangun untuk mengatasi kelemahan aplikasi semacam telnet yang mengirimkan data dalam plain-text, sehingga dapat disniff oleh pihak yang tidak bertanggungjawab. Pada kenyataannya, tidak hanya telnet yang digantikan oleh SSH. Namun, juga termasuk rlogin, rsh, rexec, dan ftp. Hari demi hari, SSH juga kian bertumbuh semakin lengkap. Saat ini, banyak sekali service di Linux yang mengirimkan data menggunakan bantuan SSH. Melihat sebentar ke belakang, SSH. com memulai pengembangan SSH original dan melisensikannya di bawah lisensi open source. SSH kemudian menuai sukses dibandingkan dengan deslogin ataupun telnet-ssl (telnet yang melewati koneksi aman) karena kecanggihan dan kemudahan penggunaannya. Sayangnya, beberapa tahun kemudian, SSH.com membangun SSH2 dan melisensikannya di bawah lisensi yang berbeda. Lisensi yang hanya mengizinkan penggunaan bebas untuk lingkungan kerja non komersial. SSH2 ini sebenarnya sangat baik karena dibangun ulang mulai
dari level protokol. Source code-nya pun ditulis ulang. Tidak puas dengan kondisi lisensi demikian, orang-orang di belakang Open- BSD kemudian mengambil kode SSH1 dan mengimplementasikan semua fi tur SSH2 dan melisensikannya di bawah lisensi open source, dan menyebutnya sebagai OpenSSH.
OpenSSH inilah yang kita pakai di Linux. Sebenarnya, selain Linux, berbagai sistem operasi juga telah memasukkan OpenSSH ke dalam instalasi default, seperti *BSD, Solaris dan MacOS. Satu hal yang perlu dicatat di sini adalah SSH sendiri merupakan protokol yang memiliki banyak implementasi. Ada implementasi yang proprietary dan implementasi yang free. Masing-masing memiliki kelebihan dan kekurangannya sendiri.
Bagaimana SSH bekerja? Setiap koneksi akan dienkrip dengan session key yang akan berubah secara periodik. Beberapa pendekatan kriptografi dilakukan untuk memastikan bahwa kita benar-benar terhubung ke server yang diinginkan dan tidak ada orang dite ngah-tengah yang mencuri data. Setiap server memiliki pasangan key public/private dan setiap kali koneksi, client akan memeriksa apakah key dari server telah berubah atau tidak. Apabila berubah, client akan menolak untuk melakukan koneksi karena ada kemungkinan percobaan tindak kejahatan. Lebih lanjut, berikut ini, kita akan membahas beberapa isu yang cukup menarik seputar penggunaan SSH. SSH1 versi 1Saat ini, SSH2 sudah cukup banyak digunakan.OpenSSH yang terinstal di sistem umumnya mendukung kedua versi SSH
tersebut, namun beberapa implementasi secara default akan berbicara menggunakan protokol versi 2. Berikut ini, kita akan membahas sedikit seputar protokol versi 1.
Sebelum pembicaraan terjadi, SSH client dan server harus memulai koneksi yang aman. Dalam proses ini, ada proses pertukaran key, password, dan data lainnya. Berikut ini adalah proses-proses bagaimana koneksi aman dilakukan pada SSH1: Client menghubungi server. Ini adalah proses yang sangat sederhana, di mana client mengirimkan request ke port 22 (port standar SSH) milik server. Client dan server saling melihat protokol yang digunakan. Protokol direpresentasikan dalam karakter ASCII. Untuk melihat versi protokol yang digunakan, Anda juga bisa memanfaatkan telnet ke port 22. Client dan server kemudian menggunakan
protokol berbasis paket (packetbased protocol). Data di-transport dalam protokol TCP.
Server memberikan informasi dirinya kepada client dan menyediakan beberapa parameter session. Lebih detail, serverakan mengirim informasi berikut ini dalam kondisi tidak terenkripsi: Host key server, untuk membuktikani dentitas host server Server key server, untuk membantu membuat koneksi aman. Urutan 8 byte random, yang disebut check bytes, Client harus mengikutsertakan check bytes ini pada respon berikutnya, atau server akan menolak respon dari client. Daftar enkripsi, kompresi dan metode authentikasi yang didukung oleh server. Client mengirimkan secret key ke server.
Secret key ini juga merupakan session key pertama. Di sini, akan terdapat
enkripsi ganda untuk memastikan hanya server yang dituju yang dapat membaca apa yang dikirimkan.
Program yang datang bersama SSH Berikut ini adalah program yang datang
bersama paket openssh: scp, untuk melakukan pengopian fi le antar host dengan aman.
Sftp, sebagai ftp client yang aman. Slogin, program untuk melakukan remote login. Program ini ditujukan untuk menggantikan rlogin. Ssh, program secure shell, berguna untuk menjalankan perintah di host lain dengan aman. Ssh-add, program yang berguna untuk menambahkan identitas RSA dan DSA kepada agen authentikasi, ssh-agent. Ssh-agent, program yang berguna untuk
menjaga private key yang digunakan untuk authentikasi menggunakan public key.
Ssh-copy-id, berguna untuk menginstal identity.pub ke authorized_keys komputer lain. Ssh-keyconverter, berguna untuk mengkonversi public dan private key RSA yang digunakan pada SSH1 ke format yang digunakan oleh SSH2. Ssh-keygen, program untuk membuat key authentikasi dan melakukan pengaturan
lebih lanjut. Ssh-keyscan, program yang berguna untuk mendapatkan public ssh host key
host-host lain. Sshd, ssh server. Sftp-server, subsystem ssh yang berfungsi sebagai sftp server. Program ini tidak ditujukan untuk dipanggil langsung, melainkan sebagai subsystem sshd. Dengan satu paket OpenSSH, Anda sudah dapat melakukan berbagai pekerjaan remote dengan cara yang sangat mudah dan sekaligus aman. Menjalankan perintah secara remote, meng-copy fi le antar-host dan melakukan manajemen sistem lanjutan dapat dilakukan dengan hati tenang. Berikut ini adalah contoh penggunaan scp dan sftp, sebagai cara untuk transfer file yang aman. SCP Program ini berguna untuk meng-copy fi le antar host. Kita dapat mengopi dari lokal ke remote ataupun remote ke lokal. Contoh pengopian fi le lokal ke remote:
$ scp -r a nop@192.168.0.1:/tmp/
Password:
Contoh pengopian fi le remote ke lokal:
$ scp -r nop@192.168.0.1:/tmp/a .
Password:
Sebagai catatan, opsi -r digunakan untuk pengopian secara rekursif.
SFTP
SFTP adalah program yang berfungsi sebagai ftp client yang secure. Cara penggunaannya
sama seperti halnya dengan penggunaan ftp client biasa. Sebagai contoh:
sftp nop@192.168.0.1
Connecting to 192.168.0.1…
Password:
sftp> ls -l
-rwxr–r– 1 mei users
32814 Jul 8 19:36 0300469981.
jpg
drwxr-xr-x 2 nop users
80 Jan 15 2005 Documents
drwxr-xr-x 5 nop users
120 Apr 22 22:58 GNUstep
lrwxrwxrwx 1 nop users
24 Jan 3 2005 KEANTSYSTEMS
drwxr-xr-x 5 nop users
416 May 1 01:27 OpenOffice.
org1.1
-rwxr–r– 1 nop users
600 Jan 21 09:20 PUTTY.RND
drwxr-xr-x 2 nop users
48 Jan 3 2005 bin
drwx–x–x 13 nop users
488 Jan 21 17:27 profile
drwxr-xr-x 2 nop users
80 Jan 3 2005 public_html
sftp> bye
Sebagai catatan, sftp menyediakan perintah dasar untuk bekerja dengan fi le. Perintahnya
tidak akan selengkap ftp client konvensional.
X over SSH
Istilah lain yang umum digunakan adalah SSH X forwarding. Seperti diketahui, X adalah sistem kompleks yang mengizinkan remote display dari komputer satu ke komputer lain melewati jaringan secaratransparan. Sayangnya, X sendiri cukup terbuka untuk diserang oleh kalangan penjahat cyber. Di sinilah peran SSH. Setiap data yang melewati SSH akan dienkrip sebelum dikirimkan. Bagaimana X forwarding bekerja? Sebuah ssh client meminta X forwarding pada saat terhubung ke SSH server (diasumsikan X forwarding telah diaktifkan di client). Apabila server mengizinkan X forwarding pada koneksi tersebut, maka proses login akan berjalan normal. Server akan mengatur beberapa langkah tambahan yang transparan bagi user. Sebagai tambahan dalam menangani sesi terminal, server akan mengatur dirinya sebagai X proxy server
yang berjalan pada mesin remote dan akan mengatur variabel DISPLAY di remote shell yang mengacu kepada proxy X tersebut. Secara sederhana, SSH server kemudian akan berpura-pura sebagai X server.
Pada saat Anda menjalankan X client, client tersebut akan terhubung ke X proxy. Proxy kemudian akan bertindak seolah-olah seperti X server yang sesungguhnya dan akan meminta kepada SSH client untuk bertindak sebagai client X proxy untuk kemudian akan melakukan koneksi ke X server. Client dan server SSH kemudian akan bekerjasama untuk melewatkan informasi protokol X bolak balik melalui SSH di antara
dua sesi X. Sebagai catatan, untuk mengaktifkan X forwarding pada client, editlah fi le /etc/ssh/
ssh_confi g dan berikan nilai Yes untuk opsi ForwardX11.
Bagi Anda yang lebih suka menggunakanVNC daripada X, maka seperti halnya X
forwarding, kita juga bisa menerapkan hal yang sama, koneksi melalui SSH. Beberapa pihak memiliki argumen yang mengatakan bahwa VNC forwarding masih lebih aman dibandingkan dengan X forwarding. Satucatatan, selalu gunakan VNC forwarding apabila Anda harus membuka data rahasialewat jaringan. Informasi mengenai VNC bisa didapatkan di realvnc.com.Pembahasan mengenai SSH X forwardingakan dilakukan secara terpisah. Verbose untuk informasi lebih lanjut Apabila Anda membutuhkan informasi
0 komentar:
Posting Komentar