|
Banyak cara yang dapat dilakukan jika ingin login ke dalam Linux,
atau dengan kata lain ingin mengakses shell Linux. Lazimnya terdapat
2 macam cara yaitu telnet dan ssh. Untuk penggunaan telnet tidak
disarankan karena alasan keamanan transfer datanya. Untuk ssh inilah
yang direkomendasikan untuk digunakan. Pada kesempatan ini, penulis
akan bahas mengenai SSH Client. SSH ialah secure shell, dimana
dengan program ini user dapat login ke dalam Linux dengan
menggunakan username dan password yang sesuai, yang bertujuan untuk
mengakses shell. Setiap perintah yang diketikkan di dalam shell akan
dienkripsi. Hal ini beda dengan telnet, rsh atau rlogin. SSH
bekerja pada port 22. Program untuk ssh bernama OpenSSH. SSH
menggunakan enkripsi dan teknik autentikasi RSA (RSA
Autenthication), 3DES, Blowfish, CAST128, hmac-md5, hmac-sha1. Untuk
dapat menjalankan fasilitas SSH maka daemon SSH di server tempat
kita login harus sudah berjalan. Untuk mengecek, Anda dapat
mengetikkan perintah berikut ini.
#netstat -an | grep 22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
Jika belum, maka pastikan paket OpenSSH sudah terinstall dan
Anda
tinggal menjalankan daemon sshd.
Kenapa harus menggunakan public dan private key dalam SSH? Setiap
transfer data melalui SSH walau tidak menggunakan public atau private
key sekalipun, data yang dikirim pasti sudah dienkripsi. Tetapi
terdapat kelebihan tersendiri jika kita menggunakan public dan
private key. Untuk masuk ke Linux melalui SSH, Anda hanya mengetikkan
username dan password Anda di server. Tetapi jika Anda menggunakan
key, maka Anda hanya mengetikkan username dan password untuk membuka
public key Anda. Jadi bukan password Anda di server atau di linux.
Password untuk public key dan password login Anda di Linux dapat
juga berbeda dan dianjurkan untuk tidak menyamakan password key
dengan password username yang sudah terdaftar di system.
Berikut ini contoh login ke Linux menggunakan ssh tanpa menggunakan
key.
$ssh syafii@192.168.0.4
syafii@192.168.0.4's password: // masukkan password
Secara sederhana dengan cara di atas, Anda dapat login dari system
manapun, dari ip address manapun juga bisa.
Public dan private key disimpan dalam file. Isinya dari file
tersebut ialah hasil enkripsi dari kunci untuk membuka public key.
Public digenerate di server atau di client. Ketika menggenerate
public key, secara otomatis akan digenerate pula private key. Dengan
menggunakan key, maka Anda hanya dapat login ke dalam Linux dimana
Anda harus mempunyai atau menyertakan private key Anda ketika ssh ke
dalam system.
Untuk lebih jelasnya, pertama-tama dalam contoh kali ini penulis
menggunakan 3 (tiga) komputer, 2 (dua) komputer menggunakan Linux dan 1
(satu) komputer
menggunakan Windows. Penulis menggunakan Windows karena untuk
melakukan ssh dari Windows harus menggunakan program bantu yaitu
PuTTY. Untuk software atau program yang dibutuhkan dalam materi kali
ini, di sisi server harus sudah terinstall OpenSSH, di client Windows harus menggunakan PuTTY dan juga WinSCP untuk keperluan
mengimport private key.
Komputer pertama merupakan komputer server (menggunakan Linux) dengan
IP address
192.168.0.6, komputer kedua menggukan Linux dengan IP address
192.168.0.4 dan komputer ketiga menggunakan Windows dengan IP
address 192.168.0.1.
Langkah 1
Sekarang Anda sedang berada di komputer 192.168.0.4. Langkah awal
ini Anda harus menggenerate key terlebih dahulu. Username yang
penulis gunakan bernama syafii.
$ ssh-keygen -t dsa -b 2048
Generating public/private dsa key pair.
Enter file in which to save the key (/home/syafii/.ssh/id_dsa):
Created directory '/home/syafii/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/syafii/.ssh/id_dsa.
Your public key has been saved in /home/syafii/.ssh/id_dsa.pub.
The key fingerprint is:
22:18:bf:3b:f5:3f:d9:20:5e:df:bc:94:11:1b:a6:72 syafii@
$ cd .ssh/
$ pwd
/home/syafii/.ssh
$ ls
id_dsa id_dsa.pub
Dari output di atas, kunci public dan private disimpan pada direktori
~/.ssh. Nama file untuk kunci public yaitu id_dsa.pub dan id_dsa
untuk private key. Setelah terbentuk kunci public dan private, maka
untuk kunci public harus dicopy ke server IP 192.168.0.6.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Bagian di atas ialah untuk memasukkan password yang akan digunakan
membuka kunci. Nantinya password di atas yang digunakan untuk login
bukan password yang tercantum di sistem di /etc/passwd. Sangat
dianjurkan untuk membuat password yang berbeda dengan password login
di Linux.
Langkah 2
Salin file id_dsa.pub dari IP 192.168.0.4 ke Linux dengan IP
192.168.0.6, dimana di komputer dengan IP 192.168.0.6, Anda mempunyai
hak login.
Masih di komputer IP 192.168.0.4, ketikkan
$ scp id_dsa.pub syafii@192.168.0.6:~/
syafii@192.168.0.6's password:
id_dsa.pub 100% |*****************************| 1109 00:00
Langkah 3
Setelah itu login ke komputer IP 192.168.0.6, login dengan user
syafii.
$ ssh syafii@192.168.0.6
syafii@192.168.0.6's password:
Last login: Sun Nov 6 12:26:14 2005 from 192.168.0.1
Ketikkan perintah berikut.
[syafii@firewall syafii]$ chmod 700 .ssh
[syafii@firewall syafii]$ cat id_dsa.pub > .ssh/authorize
[syafii@firewall syafii]$ chmod 600 .ssh/authorized_keys2
Sampai di sini, dari sisi client sudah beres. Sekarang di sisi
server, untuk mengaktifkan agar ssh server dapat menerima
autentikasi menggunakan key maka ssh perlu dikonfigurasi.
Masih di komputer dengan IP 192.168.0.6, login sebagai root.
# vi /etc/ssh/sshd_config
Rubah:
Protocol 1,2
to
Protocol 2
Rubah:
ListenAddress 0.0.0.0
to
ListenAddress 192.168.0.6
Rubah:
RhostsRSAAuthentication yes
to
RhostsRSAAuthentication no
Rubah:
RSAAuthentication yes
to
RSAAuthentication no
Rubah:
PasswordAuthentication yes
to
PasswordAuthentication no
Simpan dan restart openssh.
# /etc/rc.d/init.d/sshd restart
Shutting down sshd: [ OK ]
Starting sshd: [ OK ]
Untuk mengecek konfigurasi, login ke komputer IP 192.168.0.4,
kemudian ssh ke IP 192.168.0.6.
$ ssh syafii@192.168.0.6
Enter passphrase for key '/home/syafii/.ssh/id_dsa':
Last login: Sun Nov 6 13:11:34 2005 from 192.168.0.4
[syafii@firewall syafii]$
Untuk dapat login ke dalam Linux yang menggunakan key, maka di
komputer kita harus ada private key. Dalam hal ini private key
terdapat di direktori /home/syafii pada komputer dengan IP
192.168.0.4, maka dari itu jika ingin ssh private key ( id_dsa)
harus selalu disertakan. Seumpama Anda dari komputer IP 192.168.0.2
ingin ssh ke 192.168.0.6, maka di home dir Anda harus Anda salin file
id_dsa dari komputer IP 192.168.0.4. Memang sedikit rumit, tetapi
demi kehati-hatian, hal ini sangat diperlukan. Artinya jika tidak
mempunyai private key, maka Anda tidak dapat login ke Linux walaupun
Anda mengetahui passwordnya sekalipun. Karena ketika kita
mengetikkan perintah ‘ssh’, secara otomatis akan memanggil file
id_dsa.
Sampai saat ini konfigurasi berjalan dengan benar. Bagaimana
jika Anda melakukan ssh dari komputer yang menggunakan sistem
operasi Windows? Kali ini 2 (dua) program yang Anda butuhkan, yaitu PuTTY
dan PuTTYgen (http://www.chiark.greenend.org.uk/~sgtatham/putty/).
Secara teknis hampir sama, ketika Anda menggunakan PuTTY, private key
harus Anda sertakan juga.
Langkah 4
Import file id_dsa agar dapat dieksekusi oleh PuTTY. Download file
id_dsa dari IP 192.168.0.4.
J:\>ftp 192.168.0.4
Connected to 192.168.0.4.
220 FTP server (Version 6.00LS) ready.
User (192.168.0.4:(none)): syafii
331 Password required for syafii.
Password:
230 User syafii logged in.
ftp> cd .ssh
250 CWD command successful.
ftp> get id_dsa
200 PORT command successful.
150 Opening ASCII mode data connection for 'id_dsa' (1264 bytes).
226 Transfer complete.
ftp: 1287 bytes received in 0,00Seconds 1287000,00Kbytes/sec.
ftp> close
221 Goodbye.
ftp> by
J:\>dir id_dsa
Volume in drive J is PII
Volume Serial Number is 5891-F844
Directory of J:\
06/11/2005 18:25 1.287 id_dsa
1 File(s) 1.287 bytes
0 Dir(s) 3.296.157.696 bytes free
Buka PuTTYgen > Load, masukkan file id_dsa.

Gambar 1. Import private key
Masukkan password untuk private key.

Karena kita mengimport private key maka klik Save private key.
Kemudian buka PuTTY.

Masukkan private key yang sudah disimpan tadi. Kemudian login ke ip
192.168.0.6.


Memang sedikit rumit jika menggunakan sistem operasi Windows, tetapi karena
umumnya login menggunakan PuTTY, maka agar adil perlu dibahas pula teknik
login dengan PuTTY.
Demikian tulisan mengenai penggunaan private dan public key dalam
SSH. Semoga bermanfaat bagi
Anda semua. Jika ada saran atau komentar
bisa dikirimkan melalui e-mail karebet_asli@telkom.net.
Untuk membaca tulisan menarik lainnya, Anda bisa langsung menuju ke
situs Sony AK Knowledge Center pada alamat www.sony-ak.com.
Terima kasih.
| Send
your comments or suggestions |
|
|
|