blog/linux

Login SSH ke Linux Tanpa Password

Cara praktis akses remote server linux tanpa password

//3 menit baca3 min read


Saat mengelola server Linux, SSH (Secure Shell) merupakan salah satu metode utama untuk melakukan remote access ke server secara aman.

Pada konfigurasi standar, pengguna biasanya perlu memasukkan password setiap kali melakukan koneksi SSH. Jika kita mengelola banyak server atau sering mengakses server yang sama, proses ini tentu kurang praktis.

Salah satu solusi yang lebih praktis sekaligus lebih aman adalah menggunakan SSH Key Authentication.

Dengan metode ini, autentikasi dilakukan menggunakan pasangan kunci:

  • Private key disimpan di komputer yang digunakan untuk mengakses server.
  • Public key disimpan pada server tujuan.

Jika private key yang digunakan cocok dengan public key yang terdaftar pada server, pengguna dapat melakukan login SSH tanpa perlu mengetik password akun setiap kali terhubung.


1. Generate SSH Key di Komputer Lokal

Langkah pertama adalah membuat pasangan SSH key pada komputer yang akan digunakan untuk mengakses server.

Jalankan:

ssh-keygen

Untuk penggunaan modern, key Ed25519 juga bisa digunakan:

ssh-keygen -t ed25519

Saat menjalankan perintah tersebut, akan muncul beberapa pertanyaan mengenai lokasi penyimpanan key dan passphrase.

Contohnya:

Enter file in which to save the key:
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

Jika ingin menggunakan lokasi default, cukup tekan Enter.

Untuk keamanan yang lebih baik, private key sebaiknya menggunakan passphrase, terutama jika key digunakan untuk mengakses server penting.


2. Cek SSH Key yang Sudah Dibuat

Setelah proses pembuatan key selesai, periksa directory SSH:

ls -la ~/.ssh/

Biasanya akan terdapat dua file utama.

Jika menggunakan RSA:

id_rsa
id_rsa.pub

Jika menggunakan Ed25519:

id_ed25519
id_ed25519.pub

Fungsinya:

  • id_rsa / id_ed25519 merupakan private key.
  • id_rsa.pub / id_ed25519.pub merupakan public key.

Private key harus disimpan dengan aman dan tidak boleh dibagikan kepada siapa pun.

Sedangkan public key memang dibuat untuk ditempatkan pada server yang ingin kita akses.


3. Copy Public Key ke Server Remote

Sebelum menggunakan SSH key, public key perlu ditambahkan ke server tujuan.

Cara paling mudah adalah menggunakan:

ssh-copy-id username@remote_host

Contoh:

ssh-copy-id root@192.168.1.10

Atau menggunakan hostname:

ssh-copy-id admin@server.example.com

Ganti:

  • username dengan username yang digunakan pada server.
  • remote_host dengan IP address atau hostname server tujuan.

Pada proses pertama, SSH akan meminta password user pada server.

Setelah autentikasi berhasil, public key akan ditambahkan ke:

~/.ssh/authorized_keys

pada user tersebut di server.


4. Coba Login SSH Tanpa Password

Setelah public key berhasil ditambahkan, coba login kembali:

ssh username@remote_host

Contoh:

ssh root@192.168.1.10

Jika konfigurasi sudah benar, server tidak lagi meminta password akun.

Apabila private key menggunakan passphrase, SSH mungkin tetap meminta passphrase private key tersebut. Passphrase ini berbeda dengan password akun Linux pada server.


Kesimpulan

Menggunakan SSH Key Authentication membuat proses remote login ke server Linux menjadi lebih praktis sekaligus meningkatkan keamanan.

Dibandingkan password authentication, SSH key jauh lebih sulit diserang menggunakan metode seperti brute-force password attack, karena autentikasi bergantung pada pasangan public key dan private key.

Private key tetap harus dijaga dengan baik karena key tersebut merupakan identitas yang digunakan untuk mendapatkan akses ke server.

Untuk server produksi, penggunaan SSH key juga bisa dikombinasikan dengan menonaktifkan login menggunakan password melalui konfigurasi SSH server:

PasswordAuthentication no

pada:

/etc/ssh/sshd_config

Namun, pastikan login menggunakan SSH key sudah berhasil sebelum menonaktifkan password authentication agar tidak kehilangan akses ke server.