SSH Passwordless

Apa sih SSH Passwordless ?
SSH passwordless adalah salah satu cara login ke remote server lewat protokol SSH tanpa mengetikan user id dan password. Metode yang digunakan dengan Public key authentication
misal dengan mengetikan perintah :
# ssh -o port=1234 192.168.1.2
maka akan langsung login ke remote server ip 192.168.1.2 ( option -o port=xxxx digunakan bila port di remote/tujuan host tidak menggunakan port default yaiutu 22 )

Kenapa harus passwordless ?
Dengan tidak mengaktifkan password-based authenticatin menjadikan server ssh menjadi lebih aman karena tidak akan bisa login dan tidak bisa melakukan penyerangan dengan ssh brute force.
Disamping itu dengan passwordless kita bisa memberikan perintah-perintah di shell ke mesin remote secara otomatis lewat cron job, misal melakukan backup/copy file ke mesin lain.

Tertarik mencoba ?
Kalau ya silakan baca lanjutannya.
Caranya bagaimana ?
Misal kita punya 2 mesin. mesin 1 mesin lokal ipnya 192.168.0.1 dan mesin 2 mesin remote ipnya 192.168.1.1

Pada mesin 1. Buat Keypair yang baru caranya ketik ssh-keygen -t rsa (rsa adalah type key yang lebih baru dari pada dsa) :
# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
76:b3:67:c2:35:d7:c8:cc:91:73:7d:0b:9f:2d:4d:24 root@akar
The key's randomart image is:
+--[ RSA 2048]----+
| E.o|
| + B.|
| . oo= o.@ *|
| . + o =o=|
| S = o.o+.|
| o . |
| . oSE. |
| |
| |
+-----------------+

Selanjutnya tekan enter semua. Termasuk pada bagian passphrase. Bila diisikan maka masih akan di tanya password saat login ke remote server.
Secara default keypairnya akan ada didalam folder .ssh (dot ssh) pada home user anda login di mesin lokal tersebut.
Misal kalau login sebagai root maka ada dalam /root/.ssh kalau sebagai user biasa maka berada di dalam /home/namauser/.ssh

Dalam folder .ssh tersebut ada file id_rsa.pub file ini yang harus di copy dan di letakan pada file .ssh/authorized_keys pada mesin 2 peritahnya menggunakan ssh-copy-id
# ssh-copy-id '-p 1234 -i .ssh/id_rsa.pub root@192.168.1.1'
root@192.168.1.1's password:
Now try logging into the machine, with "ssh '-p 1234 -i .ssh/id_rsa.pub root@192.168.1.1'", and check in:


.ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

Bila port ssh menggunakan port default maka perintahnya
# ssh-copy-id -i .ssh/id_rsa.pub root@192.168.1.1

Tinggal lakukan ssh ke mesin remote/tujuan

# ssh root@192.168.1.1
Akan langsung login tanpa di tanya user id dan password.

Selain mengunakan script ssh-copy-id bisa juga dengan perintah pada mesin 1 (lokal) :
cat ./ssh/id_rsa.pub
kemudian copy isi dari file tersebut ke file .ssh/authorized_keys pada mesin 2 / remote
di mesin 2 :
vi ./ssh/authorized_keys
paste isi file id_rsa.pub kemudian save.

Sudah di test pada debian 5.x dan 6.x

Salam,
Aboen

Bahan bacaan :
http://www.debian-administration.org/articles/152
http://www.linuxconfig.org/Passwordless_ssh
http://mikegerwitz.com/2009/10/07/ssh-copy-id-and-sshd-port/

Comments

crane's picture

ini bisa di pake di distro topi merah ga? trus terang rada gaptek nih ama linux berarti klo pake putty misalnya mau masuk ke remote server dia langsung authenticate ya omm? btw makasih udah coret2 di atekbl.com hehehe kayaknya kita doang yg masuk :D

__________________\m/_______________
drummer MOBILIZER engineer di MOTRICITY

aboen's picture

Seharusnya bisa sih di semua distro linux. Kalau artikel itu dari linux to linux . kalau mo pake dari putty bisa di lihat di sini om http://theillustratednetwork.mvps.org/Ssh/Private-publicKey.html http://www.ualberta.ca/CNS/RESEARCH/LinuxClusters/pka-putty.html pake puttygen buat create key nya http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

--------------------
htttp://aboen.or.id