Mengenal SSH lebih lanjut

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
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 kelebi -
han 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 1
Saat 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, server
akan mengirim informasi berikut ini
dalam kondisi tidak terenkripsi:
 Host key server, untuk membuktikan
identitas 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 fi le
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
ada lah sistem kompleks yang mengizinkan
remote display dari komputer satu ke
komputer lain melewati jaringan secara
transparan. 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 menggunakan
VNC 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. Satu
catatan, selalu gunakan VNC forwarding
apabila Anda harus membuka data rahasia
lewat jaringan. Informasi mengenai VNC
bisa didapatkan di realvnc.com.
Pembahasan mengenai SSH X forwarding
akan dilakukan secara terpisah.
Verbose untuk informasi lebih lanjut
Apabila Anda membutuhkan informasi

No Comments Yet »

RSS umpan untuk komentar-komentar dalam tulisan ini. URI Lacak Balik

Tinggalkan komentar

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Blog pada WordPress.com. | Theme: Pool by Borja Fernandez.
Entries and comments feeds.