# Alias host untuk Remote SSH

> 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 tutorial sebelumnya dengan title [SSH tanpa Password](https://verri.andriawan.web.id/ssh-tanpa-password) sudah dijabarkan step by step bagaimana cara mensetupnya. Pada tulisan kali ini saya akan menunjukan bagaimana membuat agar kita bisa melakukan autentikasi ke server dengan command lebih sederhana. Misal seperti ini.

```bash
$ ssh repository.aws
```

Seperti terlihat dari contoh command ssh tersebut, tidak ada user, ip address dan juga identity file (-i) yang diikutkan sebagai argument command.

> Dengan cara ini, maka user, IP Address dan juga identity File tidak kan tercatat pada history terminal `history -c` kemana user melakukan remote ssh.

Untuk bisa membuat seperti itu, pertama yang perlu dilakukan adalah dengan mambuat alias domain di file `/etc/hosts`.

```bash
$ echo "repository.aws\\t10.2.0.2" | sudo tee -a /etc/hosts
```

Pada command tersebut saya menggunakan [`repository.aws`](http://repository.aws) sebagai domain, nama alias domain ini bebas, bisa apa saja. misal kita bisa menggunakan nama `repository`, tanpa domain extention. Hal tersebut sah-sah saja. Namun lebih baik menggunakan extension karena ada keunggulan yg nantinya akan saya jelaskan pada tulisan ini juga.

Untuk IP address, saya menggunakan destination ip address `10.2.0.2`. Dimana IP ini seharusnya IP Address dari remote server yang akan diremote.

Setelah selesai menambah alias dari IP Address tersebut. Kita bisa memvalidasi apakah alias sudah ter-setup dengan bensar, dengan cara ping ke domain baru tersebut.

```bash
$ ping repository.aws
64 bytes from 10.2.0.2: icmp_seq=0 ttl=64 time=0.108 ms
64 bytes from 10.2.0.2: icmp_seq=1 ttl=64 time=0.160 ms
64 bytes from 10.2.0.2: icmp_seq=2 ttl=64 time=0.162 ms
64 bytes from 10.2.0.2: icmp_seq=3 ttl=64 time=0.175 ms
```

Terlihat bahwa response memberikan info `from 10.2.0.2` menandakan bahwa domain sudah tersetup dengan benar. Langkah selanjutnya menambah config untuk SSH pada file `~/.ssh/config` untuk domain baru. Seperti berikut.

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

Sampai langkah ini, short SSH command sudah bisa dilakukan. Jika kita mengeksekusi command ssh seperti berikut:

```bash
$ ssh repository.aws
```

Maka kita akan mendapatkan shell dari remote server yang dituju.

## Kesimpulan

Kita bisa menyebunyikan argument-argument pada command ssh dengan men-config file `~/.ssh/config` dengan begitu, akan lebih memudahkan kita sebagai commander yang mengeksekusi command ssh tersebut karena kita hanya perlu mengingat nama alias dari pada harus mengingat IP Address dan argument-argument lainnya.
