Harus selalu mengetik password setiap kali akan melakukan SSH atau SCP pasti lumayan mengganggu. SSH menyediakan fasilitas login menggunakan public-key yang membuat kita tak perlu terus-menerus mengetik password tiap kali login ke server.

Tips ini hanya berlaku di mesin yang menggunakan sistem mirip UNIX. Untuk pengguna PuTTY, akan dibahas caranya pada dokumentasi yang lain.

Membuat keypair

Keypair ini bisa dibuat menggunakan perintah ssh-keygen yang sudah terbundel dalam paket ssh-client pada sistem operasi yang digunakan. Perintahnya seperti berikut:

$ ssh-keygen -t dsa

Program ini akan menanyakan di mana keypair akan disimpan. Cukup menekan enter untuk menyimpannya secara default.

Sementara saat program menanyakan password, sangat dianjurkan untuk mengisinya. Hal ini supaya keypair lebih aman. Seandainya ada yg berhasil mencuri keypair, dia tetap harus mengisikan password dengan benar untuk bisa menggunakan keypair tersebut.

Program tadi akan menghasilkan dua buah file. File id_rsa harus selalu dirahasiakan, sementara file id_rsa.pub (public-key) harus diunggah ke server. Simpanlah file id_rsa.pub ini di~/.ssh/authorized_keys server remote.

Menggunakan public-key

Setelah public-key berhasil diunggah ke server, login SSH ke server tanpa mengetik password bisa dilakukan. Hanya saja tidak boleh lupa untuk memberikan perintah berikut segera setelah login ke PC lokal. PC lokal ini adalah yang akan digunakan untuk login ke server.

Yang pertama kali harus dilakukan adalah mengaktifkan ssh-agent. Bisa dilakukan dengan mengeksekusi perintah ini:

$ eval `ssh-agent`

Pada beberapa distro linux yang menggunakan desktop KDE atau GNOME aktivasi ssh-agent sudah dilakukan tiap kali user login ke desktop. Untuk kasus ini perintah di atas tadi bisa dilewat.

Selanjutnya lakukan perintah berikut:

$ ssh-add

Nanti akan ditanya password, yang harus diisi dengan password saat membuat keypair. Setelah ini barulah SSH menggunakan key (tanpa password) bisa dilakukan.

Keypair yang telah dibuat ini bisa digunakan ke lebih dari satu akun SSH.