Beberapa waktu yang lalu, aku terlibat dengan sebuah pekerjaan embedded programming dimana aku melakukan kompilasi program dan menjalankan executable filenya di SBC yang berbasis linux. Hal ini sedikit merepotkan karena setiap kali selesai compile aku harus mengcopy executable file dengan perintah scp yang meminta password setiap kali dieksekusi. Alangkah lebih mudah jika tahap ini bisa dipermudah karena proses kompilasi dan run dilakukan berulang-ulang. Setelah melakukan pencarian di internet, akhirnya aku menemukan cara untuk menghilangkan password ssh. Langkah-langkah agar bisa SSH tanpa password dijelaskan sebagai berikut.
-
Pada client jalankan perintah untuk generate key berikut:
$ mkdir -p $HOME/.ssh
Perintah ini menghasilkan dua file, $HOME/.ssh/id_dsa (private key) dan $HOME/.ssh/id_dsa.pub (public key).
$ chmod 0700 $HOME/.ssh
$ ssh-keygen -t dsa -f $HOME/.ssh/id_dsa -P '' -
Copy $HOME/.ssh/id_dsa.pub ke server.
-
Pada server jalankan perintah berikut:
$ cat id_dsa.pub >> $HOME/.ssh/authorized_keys2
Bergantung pada versi OpenSSH, kadang-kadang perintah berikut diperlukan:
$ chmod 0600 $HOME/.ssh/authorized_keys2$ cat id_dsa.pub >> $HOME/.ssh/authorized_keys
Sebagai alternatif, buat sebuah link dari authorized_keys2 ke authorized_keys:
$ chmod 0600 $HOME/.ssh/authorized_keys$ cd $HOME/.ssh && ln -s authorized_keys2 authorized_keys
-
Pada client test hasilnya dengan melakukan SSH ke server:
$ ssh -i $HOME/.ssh/id_dsa server
-
(Opsional) tambahkan line berikut pada $HOME/.ssh/config di client:
Host server
Hal ini akan mengijinkan akses SSH ke server tanpa perlu menambahkan path ke file id_dsa sebagai sebuah argument setiap kali melakukan.
IdentityFile ~/.ssh/id_dsa - Karena scp berbasis ssh, maka melakukan scp juga tidak perlu memasukkan password.
0 komentar:
Post a Comment