Mengatasi Permasalahan: No Matching Key Exchange Method Found Saat Akses SSH ke Cisco IOL pada PNETLab

Beberapa waktu lalu penulis menghadapi permasalahan saat mencoba melakukan remote access melalui Secure Shell (SSH) dari komputer Client dengan docker image kroniak/ssh-client ke perangkat router dan multilayer switch dengan images Cisco IOL pada jaringan yang disimulasikan menggunakan PNETLab.

Pesan kesalahan yang muncul ketika mencoba melakukan akses SSH baik dari Client1 maupun Client2 ke perangkat router R1 dan multilayer switch MSW adalah  “Unable to negotiate with 192.168.255.1 port 22: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1“. Terlampir cuplikan hasil ujicoba akses SSH dari Client1 ke router R1 dengan alamat IP 192.168.255.1 dan ke multilayer switch MSW dengan alamat IP 192.168.255.2 menggunakan akun otentikasi yaitu username putu.

Sedangkan cuplikan hasil ujicoba akses SSH dari Client2 ke router R1 dan ke multilayer switch MSW dengan menggunakan akun otentikasi yang sama, seperti terlihat pada gambar berikut:

Berdasarkan troubleshooting yang dilakukan maka dapat diketahui penyebab dari permasalahan tersebut yaitu SSH Client versi yang lebih baru menonaktifkan dukungan untuk algoritma SSH keyx lama karena alasan keamanan.

 

SOLUSI PERTAMA: AD HOC

Adapun solusi pertama untuk menyelesaikan permasalahan tersebut adalah dengan melakukan pencantuman parameter KexAlgorithms dengan nilai +diffie-hellman-group-exchange-sha1, HostKeyAlgorithms dengan nilai ssh-rsa dan Ciphers dengan nilai aes128-cbc serta aes128-ctr secara langsung (ad hoc) ketika melakukan akses dari SSH Client ke perangkat jaringan. Penambahan parameter-parameter tersebut memerlukan penyesuaian penulisan perintah SSH Client menjadi ssh -o KexAlgorithms=+diffie-hellman-group-exchange-sha1 -o HostKeyAlgorithms=ssh-rsa -o Ciphers=aes128-cbc -c aes128-ctr namauser@alamat.ip.dari.perangkat.

Terlampir cuplikan akses dari SSH Client menggunakan terminal komputer Client1 ke router R1 yang telah mencantumkan parameter-parameter tersebut. Apabila muncul prompt konfirmasi Are you sure want to continue connecting (yes/no/[fingerprint])? ketik yes. Selanjutnya akan muncul prompt Password: yang meminta inputan sandi pengguna. Silakan memasukkan sandi pengguna, sebagai contoh mypassword dan tekan Enter.

Terlihat akses SSH ke router tersebut berhasil dilakukan. Ketik exit untuk keluar dari akses SSH router R1.

Sedangkan cuplikan akses SSH Client dari terminal komputer Client1 ke multilayer switch MSW yang juga telah mencantumkan parameter-parameter tersebut, seperti ditunjukkan pada gambar berikut:

Akses SSH ke multilayer switch tersebut juga berhasil dilakukan. Ketik exit untuk keluar dari akses SSH multilayer switch MSW.

Sebaliknya cuplikan hasil ujicoba akses SSH dari terminal komputer Client2 ke router R1 dan multilayer switch MSW, seperti ditunjukkan pada gambar berikut:

Akun otentikasi SSH yang digunakan pada contoh tersebut sama seperti sebelumnya yaitu usernameputu” dengan passwordmypassword“. Terlihat akses SSH ke kedua perangkat jaringan tersebut juga berhasil dilakukan.

 

SOLUSI KEDUA: PERMANEN

Solusi kedua yang dapat digunakan untuk mengatasi permasalahan tersebut yaitu dengan menambahkan parameter-parameter pengaturan tersebut secara permanen pada file /etc/ssh/ssh_config baik di komputer Client1 maupun Client2. File ssh_config merupakan file yang memuat konfigurasi terkait OpenSSH Client. Dengan penerapan solusi ini maka ketika akses SSH dari terminal setiap komputer Client maka tidak diperlukan kembali pencantuman parameter tambahan seperti contoh sebelumnya. Akses SSH cukup dilakukan dengan format penulisan ssh namauser@alamat.ip.dari.perangkat sehingga mempermudah pengguna.

Penambahan parameter tersebut dapat dilakukan menggunakan editor vi dengan mengeksekusi perintah vi /etc/ssh/ssh_config. Terlampir cuplikan proses tersebut yang dilakukan pada terminal dari komputer Client1.

Apabila editor vi telah terbuka maka lakukan penekanan tombol Shift-g sehingga berpindah ke akhir baris dari konten file tersebut. Selanjutnya lakukan penekanan tombol o (huruf “o” kecil) untuk menyisipkan baris baru setelah posisi baris dimana saat ini berada.

Lakukan penambahan 3 (tiga) baris pengaturan parameter berikut:
KexAlgorithms +diffie-hellman-group-exchange-sha1
HostKeyAlgorithms ssh-rsa
Ciphers aes128-cbc,aes128-ctr

Tekan tombol Esc dan ketik :wq untuk menyimpan (write) dan keluar (quit) dari editor vi.

Verifikasi hasil penambahan ketiga entri parameter tersebut dapat dilakukan dengan mengeksekusi perintah tail /etc/ssh/ssh_config.

Terlihat pengaturan parameter sudah tersimpan secara permanen di file tersebut.

Lakukan ujicoba pengaksesan SSH kembali ke setiap perangkat jaringan. Sebagai contoh ke router R1 dapat dilakukan dengan mengeksekusi perintah ssh putu@192.168.255.1. Apabila muncul prompt konfirmasi Are you sure want to continue connecting (yes/no/[fingerprint])? ketik yes. Selanjutnya akan muncul prompt Password: yang meminta inputan sandi pengguna. Silakan memasukkan sandi pengguna, sebagai contoh mypassword dan tekan Enter.

Akses SSH berhasil dilakukan yang ditandai dengan penampilan prompt R1#. Ketik exit untuk keluar dari akses SSH router R1.

Ujicoba akses SSH ke multilayer switch MSW dapat dilakukan dengan mengeksekusi perintah ssh putu@192.168.255.2. Apabila muncul prompt konfirmasi Are you sure want to continue connecting (yes/no/[fingerprint])? ketik yes. Selanjutnya akan muncul prompt Password: yang meminta inputan sandi pengguna. Silakan memasukkan sandi pengguna, sebagai contoh mypassword dan tekan Enter.

Akses SSH berhasil dilakukan yang ditandai dengan penampilan prompt MSW#. Ketik exit untuk keluar dari akses SSH multilayer switch MSW.

Dengan cara yang sama maka pengaturan file /etc/ssh/ssh_config melalui terminal dari komputer Client2 dapat pula dilakukan menggunakan bantuan editor vi. Namun sebagai alternatif akan dilakukan pengaturan paramater pada file tersebut tanpa menggunakan bantuan editor vi yaitu hanya dengan melakukan copy-paste setiap baris dari ketiga entri perintah berikut ke terminal dari komputer Client2.

echo "KexAlgorithms +diffie-hellman-group-exchange-sha1" >> /etc/ssh/ssh_config
echo "HostKeyAlgorithms ssh-rsa" >> /etc/ssh/ssh_config
echo "Ciphers aes128-cbc,aes128-ctr" >> /etc/ssh/ssh_config

Terlampir cuplikan hasil copy-paste ketiga baris perintah tersebut pada terminal dari komputer Client2.

Selanjutnya lakukan verifikasi hasil penambahan ketiga entri parameter tersebut dengan mengeksekusi perintah tail /etc/ssh/ssh_config.

Terlihat pengaturan parameter sudah tersimpan secara permanen di file tersebut.

Lakukan ujicoba pengaksesan SSH kembali melalui terminal Client2, seperti contoh pada Client1 yaitu ke setiap perangkat jaringan baik ke router R1 dengan mengeksekusi perintah ssh putu@192.168.255.1 maupun ke multilayer switch MSW dengan mengeksekusi perintah ssh putu@192.168.255.2. Terlampir cuplikan hasil verifikasi SSH ke router R1 dan multilayer switch MSW dari terminal Client2. Akun otentikasi SSH yang digunakan pada contoh ini adalah usernameputu” dengan passwordmypassword“.

Terlihat akses SSH dari terminal komputer Client2 ke router R1 dan multilayer switch MSW berhasil dilakukan.

Selamat rekan-rekan telah berhasil menyelesaikan permasalahan terkait SSH tersebut. Apabila terdapat pertanyaan, silakan mengomentari posting ini atau mengirimkan melalui email di admin[at]iputuhariyadi.net. Semoga membantu. Terimakasih

0

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.