Postingan kali ini membahas remote ssh.
Sebenarnya untuk terkoneksi dengan ssh sangat mudah, base syntaxnya hanya ssh user@ipserver
. Tapi pada beberapa kasus kita membutuhkan agar remote node dan server node saling terhubung tanpa perlu memusingkan authentikasi. Sebagai contoh koneksi antar node dengan git, ansible dengan masing-masing host dn masih banyak contoh lainya.
postingan ini akan membahas bagaimana mendistribusikan public key ssh dengan dua cara, berikut pembahasanya.
Generate SSH Key
ssh-keygen -t rsa -b 4096
By default, key ssh akan di letakan pada folder .ssh
dengan nama id_rsa
sebagai private key dan id_rsa.pub
sebagai public key di bedakan dengan ekstensi .pub
.
Perlu diperhatikan key akan di simpan pada aktif direktori shell nya.
Distribusi Key
- Distribusi Manual
Dengan cara ini sebenarnya tinggal mengcopy secra manual file id_rsa.pub
ke direktori ~/.ssh/
dengan scp
.
scp -r id_rsa.pub root@10.10.10.1:~/.ssh/
Salin isi dari file id_rsa.pub
pada asal atau local kita lalu copy kan ke file authorized_keys
pada server tujuan secara manual.
cat id_rsa.pub | tee -a authorized_keys
atau copy paste manual dengan menggunakan nano
nano authorized_keys
Paste pada baris paling bawah, simpan dan exit.
Lakukan uji coba dengan perintah berikut
ssh -i id_rsa root@10.10.10.1
- Distribusi Otomatis
Dengan cara ini hanya perlu menjalankan satu perintah
ssh-copy-id -p 73 -i id_rsa.pub root@10.10.10.1
lakukan uji coba
ssh -i id_rsa root@10.10.10.1
harusnya sudah bisa terkoneksi
Study Case on AWS EC2
- Distribusi Key Pair di AWS Buat key pair dari dashboard AWS consoles, setelah terbuat dan terdownload biasanya harus change mode permissionya dulu
chmod 400 "key-nzucode-ec.pem"
Harusnya setelah itu hanya perlu konek saja seperti berikut
ssh -i "key-nzucode-ec.pem" ubuntu@108.14.165.117
Tapi ternyata tidak bisa doongg, harus kita tambahkan terlebih dahulu. Jalankan perintah berikut dari sisi client
ssh-keygen -y -f path/to/key-nzucode-ec.pem
nanti akan tampil outpunya berupa ssh-rsa
string seperti ini
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCWVhIjCHwJYAyLW7n0jN11MNY01qkWw+YygTjVI9IHwD1UvJVkyPd7LwEiP73j3F6+FVa2mJrrW7Tcdg2yueGPAzA/5YlC7DIKXnc5pjMLrsRft2UYw/kadFaUHHvwqw9fqtz9fjZ/tL454CejrZJApucFvY0AiaSBfFtqavCTG3RdJcuh49Mc53/go2Pod2ZN53erE3PEk8PdNXO4xsVxoRk6CQiTjsk/nJhcdUURG5aFRNRtcR6SWxKYf+msq9QFzCZYSdxQWcrr+hZan2AhpmYXbTvQlnVaatrGSlHOl7IEB7dPfvoqES9kDlVqCiIpwLZ8zGPPT9iI1l897CK23
Output inilah yg nanti kita copy ke .ssh/authorized_keys
, gunakan text editor untuk menambhakan isi filenya.
Setelah ditambahkan maka tinggal lakukan uji coba lagi
ssh-keygen -y -f path/to/key-nzucode-ec.pem
- BONUS
Disini saya sertakan bagaimana cara mengkonekan ke client tanpa menggunakan -i
, yaitu dengan menggunakan ssh agent
. Gunakan syntax berikut ini untuk menambahkan agent.
Di sisi peremote atau admin pc nya ya, jangan di pc server atau remotenya.
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
Pastikan lokasi file id_rsa (kunci privat) di arahkan ke path yg benar.
Buat file config di~/.ssh/config
.
nano ~/.ssh/config
lalu buat seperti ini
Host simrs
HostName 10.10.10.2
User ayam
IdentityFile ~/.ssh/id_rsa
Simpan dan exit, lalu uji coba dengan meremot user tanpa memasukan opsi -i
.
ssh ayam@10.10.10.2
Kika berhasil harusnya langsung masuk. Metode ini bisanya digunakan untuk configursai yg memang memerlukan koneksi otomatis login seperti rsync dll.
Harusnya sudah bisa konek, semoga bermanfaat, selamat mencoba
Top comments (0)