# Multi Host SSH Config

> Tulisan ini adalah bagian dari [**Remote SSH**](https://verri.andriawan.web.id/series/ssh-remote-server) Series, sehingga untuk bisa membaca secara menyeluruh dan berkesinambungan, alangkah lebih baik bisa membaca secara urut dari link series [berikut](https://verri.andriawan.web.id/series/ssh-remote-server).

Pada tulisan dengan title [Alias untuk Remote SSH](https://verri.andriawan.web.id/alias-host-untuk-remote-ssh), kita sudah mencoba membuat alias domain untuk SSH agar lebih simple ketika akan meremote server. Hanya dengan command `ssh repository.aws`, SSH sudah bisa mengetahui config apa yang harus digunakan. Tapi kita masih ada masalah di config SSH pada local device.

Kita sudah mengetahui bahwa untuk mengconfig alias domain pada SSH dengan menambah Host baru pada file `~/.ssh/config`.

```bash
Host repository.aws
	User root
	IdentityFile ~/.ssh/id_ed25519
```

Tapi ketika kita perlu menambah destination host baru yang memerlukan key yang sama kita harus menambah list Host tersebut ke list yang sama misal seperti ini.

```bash
Host repository.aws web.aws api.aws
	User root
	IdentityFile ~/.ssh/id_ed25519
```

Semakin banyak destination server, semakin panjang list-nya. Cukup merepotkan bukan?!

Nah pada tulisan sebelumnya dengan title “Alias untuk Remote SSH” saya menyarankan sebaiknya menggunakan extesion domain. Karena untuk keperluan multi destination seperti ini. Dengan menggunakan extension domain, akan mempermudah kita melisting host alias. Sebagai contoh seperti ini.

```bash
Host *.aws
	User root
	IdentityFile ~/.ssh/id_ed25519
```

Dengan menggunakan asterick (\*), maka semua alias host dengan menggunakan extension `.aws` akan menggunakan config tersebut. Tapi bisa saja menggunakan IP Address, misalkan seperti ini.

```bash
Host 192.168.*
	User root
	IdentityFile ~/.ssh/id_ed25519
```

Tapi jika menggunakan IP Address, jelas kita akan sulit mengingatnya. Maka dari itu perlu alias host agar lebih mudah mengingat destination nya.

## Kesimpulan

Dengan menggunakan asterisk (\*), kita bisa mengernalkan config ssh. Dengan begitu akan lebih mudah memaintain IdentityFile untuk tiap-tiap host.
