# Lupa Passphrase SSH? Cukup Masukkan Sekali dengan ssh-add!

Punya kunci SSH yang dilindungi *passphrase*? Itu adalah langkah keamanan yang bagus! Tapi, pasti sedikit merepotkan jika harus mengetik *passphrase* yang sama berulang kali setiap kali Anda ingin `ssh`, `git push`, atau `scp`.

Ada solusi elegan untuk ini: gunakan `ssh-agent` dan perintah `ssh-add`. Dengan cara ini, Anda cukup memasukkan *passphrase* Anda **sekali saja** saat sesi terminal dimulai, dan sisanya berjalan otomatis.

---

### Cara Kerjanya

1. `ssh-agent`: Bayangkan ini sebagai sebuah "gantungan kunci" sementara yang aman. Program ini berjalan di latar belakang sesi terminal Anda.
    
2. `ssh-add`: Ini adalah perintah untuk "menggantungkan" kunci SSH privat Anda ke `ssh-agent`. Saat Anda menjalankan perintah ini, ia akan meminta *passphrase* kunci Anda.
    
3. **Proses Otomatis**: Setelah kunci ditambahkan, setiap kali Anda mencoba terhubung ke server, klien SSH akan berkomunikasi terlebih dahulu dengan `ssh-agent` untuk mendapatkan kunci yang sudah terautentikasi, sehingga Anda tidak perlu mengetik *passphrase* lagi.
    

Penting untuk diingat, `ssh-agent` hanya menyimpan kunci ini selama sesi terminal Anda aktif. Jika Anda menutup terminal atau me-restart komputer, Anda perlu melakukannya lagi.

---

### Langkah-langkah Penggunaan `ssh-add`

Prosesnya sangat cepat dan mudah.

#### Langkah 1: Pastikan `ssh-agent` Berjalan

Di sebagian besar sistem modern (Linux, macOS, dan Windows dengan Git Bash/WSL), `ssh-agent` biasanya sudah berjalan secara otomatis saat Anda membuka terminal. Anda bisa memverifikasinya dengan perintah:

Bash

```typescript
eval "$(ssh-agent -s)"
```

Jika agen belum berjalan, perintah ini akan memulainya dan menampilkan PID (Process ID) agen tersebut.

#### Langkah 2: Tambahkan Kunci SSH Anda ke Agen

Sekarang, gunakan perintah `ssh-add` untuk menambahkan kunci privat Anda. Jika Anda menggunakan nama file *default* (`id_rsa` atau `id_ed25519`), cukup jalankan:

Bash

```typescript
ssh-add
```

Jika Anda menyimpan kunci dengan nama lain, sebutkan path lengkapnya:

Bash

```typescript
ssh-add ~/.ssh/nama_kunci_custom
```

Anda akan diminta untuk memasukkan *passphrase* untuk kunci tersebut.

Setelah Anda memasukkannya dengan benar, Anda akan melihat pesan konfirmasi seperti *"Identity added"*.

#### Langkah 3: Verifikasi dan Gunakan

Untuk memastikan kunci Anda sudah berhasil ditambahkan, Anda bisa melihat daftar kunci yang ada di agen dengan perintah:

Bash

```typescript
ssh-add -l
```

Perintah ini akan menampilkan "sidik jari" (*fingerprint*) dari kunci yang telah Anda tambahkan.

Sekarang, coba hubungkan ke server Anda seperti biasa:

Bash

```typescript
ssh user@alamat_ip_server
```

Voila! Anda akan langsung terhubung tanpa diminta *passphrase* sama sekali. Anda bisa melakukan `ssh`, `git push`, atau perintah lain berulang kali dalam sesi yang sama tanpa gangguan. 🚀
