VPS

Cara Setup SSH Tanpa Password pada Linux

SSH merupakan singkatan dari Secure Shell. SSH merupakan jaringan protokol open source yang dapat digunakan untuk login ke server dan mengeksekusi command jarak jauh. Hal tersebut sangat membantu VPS user. Sedangkan SCP (Secure Copy Protocol), yang mana berbasis SSH, dapat digunakan untuk menyalin file dari satu komputer ke komputer lain. Pada tutorial kali ini, kami akan membahas bagaimana cara setup ssh tanpa password pada Linux.

Ada dua cara untuk mengaktifkan SSH:

  • Password-based authentication
  • Public key based authentication

Public key based authentication inilah yang sering disebut dengan SSH tanpa password.

Mengapa Menggunakan SSH Tanpa Password?

Kadang user berpikir bahwa password-protected sulit untuk diingat dan tidak nyaman digunakan saat harus bekerja pada environment yang perlu memasukkan password berkali-kali.

Ada beberapa keuntungan dari menggunakan SSH tanpa password:

  • Mudah dan loginnya non-interaktif. USer tidak harus mengetikkan password untuk tiap sesi baru
  • Lebih aman dibandingkan password sebagaimana SSH tanpa password bekerja pada public-private key cryptography
  • Lebih dapat diandalkan
  • Pengelolaan autentikasi dan autorisasi lebih baik
  • Solusi tepat untuk infrastruktur besar maupun kecil
  • Mudah dibuat dan dikelola

Untuk menggunakan SSH tanpa password, Anda perlu untuk membuat sebuah public key. Pada tutorial ini, kami akan fokus pada SSH versi 2 yang mana versi ini merupakan versi terbaru dan protokolnya lebih aman.

Untuk memulai setting SSH tanpa password, Anda harus login ke server VPS melalui SSH terlebih dahulu.

Pertama, cek apakah SSH key untuk perangkat client sudah ada. Langkah ini akan mencegah penumpukan konfigurasi yang ada. Anda dapat menggunakan command dibawah ini untuk mengetahuinya:

 ls -al ~/.ssh/id_*.pub 

Jika key nya sudah ada, maka Anda dapat melewati langkah pembuatan SSH key, override setup yang ada, atay membuat backup untuk key yang ada. Jika tidak ada SSH key yang didapati, Anda akan melihat output berikut:

ls: cannot access /users/appsadm/.ssh/id_*.pub: No such file or directory 

Setelah itu, Anda dapat membuat SSH key.

SSH Tanpa Password pada Ubuntu dan CentOS:

Untuk membuat key public maupun private pada Ubuntu atau CentOS, gunakan command:

 ssh-keygen -t rsa 

Opsi -t merupakan opsi untuk type (tipe), sedangkan RSA adalah protokol yang digunakan untuk membuat private key. RSA merupakan tipe default – Anda dapat menggunakan versi yang lebih sederhana yaitu – ssh-keygen

Value dari default key adalah 2048 bits. Namun, jika Anda memerlukan keamanan yang lebih kuat, Anda dapat mengganti valuenya ke 4096 bits. Pada kasus ini, gunakan command:

 ssh-keygen -t rsa -b 4096 

Proses ini merupakan interactive key generation process – dimana Anda akan mendapatkan beberapa pertanyaan seperti:

  • Masuk ke file untuk menyimpan key (/home/.ssh.id_rsa)
  • Masukkan passphrase (biarkan kosong bila tidak ada paraphrase)

Anda dapat menekan enter untuk kedua pertanyaan ini. Jika Anda tekan enter untuk keduanya maka proses ini akan mengambil value default. Paraphrase digunakan untuk mengenkripsi private key; Namun, proses ini tidak wajib dan dapat dibiarkan kosong. Private key akan disimpan di lokasi default – .ssh/id_rsa.

Public key akan disimpan di dalam file .ssh/id_rsa.pub. Langkah ini melengkapi pembuatan key. Setelah itu, Anda dapat memverifikasi file dengan menggunakan editor apa pun.

Menyalin Public Key untuk Mengaktifkan SSH Tanpa Password

Menyalin public key ke perangkat yang dituju dapat dilakukan dengan tiga cara:

  • Menggunakan command ssh-copy-id
  • Menyalin public key menggunakan SSH
  • Menyalin public key secara manual

Opsi pertama merupakan yang paling direkomendasikan dan yang tercepat.  Command ssh-copy-id secara default telah berada pada sistem variasi Linux.

Namun, pada beberapa instance, Anda akan menghadapi isu berkaitan dengan ssh-copy-id atau bahkan sama sekali tidak memiliki akses atas command ini. Untuk permasalahan itu, Anda dapat menggunakan opsi subsequent.

Metode 1: Menggunakan Command ssh-copy-id

Basic syntax untuk menggunakan command ini adalah seperti yang ditunjukkan di bawah:

 ssh-copy-id remote_username@remote_IP_Address 

Di sini Anda akan mendapatkan prompt untuk kata sandi perangkat remot. Setelah otentikasi berhasil, public key SSH yang dihasilkan akan ditambahkan ke file otor_keys dari perangkat remote. Setelah Anda menambahkan entri, koneksi akan ditutup secara otomatis.

Metode 2: Menyalin public key menggunakan SSH

Metode selanjutnya adalah menggunakan SSH untuk menyalin private key. Metode ini dapat digunakan ketika Anda memiliki akses SSH berbasis password pada server. Command di bawah ini akan menjalankan prosesnya. Anda hanya perlu memasukkan username dari user dan alamat IP perangkat.

cat ~/.ssh/id_rsa.pub | ssh remote_username@remote_ip_address "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys" 

Command ini akan menambahkan entri ke file authorized_key di perangkat remote.

Metode 3: Menyalin Public Key Secara Manual

Jika ada masalah dengan metode-metode sebelumnya, Anda dapat menggunakan metode ini. Namun, metode ketiga ini agak lebih sulit karena seluruhnya dilakukan secara manual. Anda secara manual perlu menambahkan isi file id_rsa.pub ke file server remote ~/.ssh/authorized_keys.

Pada source method, Anda dapat menampilkan konten file id_rsa.pub dengan menggunakan editor vi atau command cat:

 cat ~/.ssh/id_rsa.pub 

Command ini akan menampilkan output yang berisi key, yang mana key tersebut dimulai dengan ssh-rsa. Selanjutnya, Anda perlu untuk menyalin kode tersebut. Setelah itu, login pada remote server dan buatlah file .ssh jika file nya tidak ada.

 mkdir -p ~/.ssh 

Anda juga dapat membuat file authorized_key dengan cara yang sama. Tambahkan public key SSH ke file yang kosong seperti yang ditunjukkan di bawah ini:

 echo SSH_public_key >> ~/.ssh/authorized_keys 

SSH_public_key menjadi public key yang Anda salin dari perangkat sumber. It will start with ssh-rsa.

Setelah key disalin, Anda dapat mempersiapkan permission yang dibutuhkan direktori .ssh pada server remote dengan menggunakan command chmod.

 chmod -766 ~/.ssh 

Menguji SSH Tanpa Password

Dengan melakukan langkah-langkah di atas, seharusnya Anda berhasil mengaktifkan SSH tanpa password dan siap melakukan konfigurasi dasar. Untuk menguji fiturnya, Anda dapat mengakses server remote melalui server source. Command syntax tersebut akan terlihat seperti ini:

 ssh remote_username@remote_IP_Address 

Jika semua bekerja dengan baik, Anda dapat masuk secara otomatis tanpa harus memasukkan password.

Cara Mematikan SSH Tanpa Password

Jika Anda merasa bahwa Anda tidak lagi nyaman dengan SSH tanpa password, Anda dapat mematikan fiturnya dengan beberapa langkah. Untuk melakukannya, Anda perlu membuka file konfigurasi SSH – /etc/ssh/ssh_config. Anda dapat menggunakan editor apapun. Pada contoh ini, kami menggunakan nano. Disini, Anda dapat menemukan entri dengan PasswordAuthentication. Modifikasi barisannya seperti berikut:

 PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no 

Setelah diubah, simpan file dan restart SSH Anda. Berikut adalah cara melakukannya pada Ubuntu 18.04:

 sudo systemctl restart ssh 

Untuk CentOS 7, command nya adalah:

 sudo systemctl restart sshd 

Kesimpulan

Sekarang, Anda mengerti cara mengatur SSH tanpa password. Pada artikel ini, kami telah membahas pengaturan SSH tanpa password, konfigurasi dan cara menonaktifkannya. Kami harap Anda terbantu dengan artikel ini!

Tentang penulis

Nadia Agatha

Nadia merupakan penerjemah lepas sejak 2016, kini ia menjadi penerjemah untuk Hostinger. Ia gemar membaca dan melakukan penelitian seputar penerjemahan dan sosiolinguistik. Disamping itu, ia juga suka bermain dengan kucingnya dan bercengkrama bersama teman-temannya di waktu senggang.

Tambah Komentar

Klik di sini untuk menulis komentar

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Dapatkan harga hemat!

Web Hosting Gratis Domain mulai dari

Rp.8.739
/bln