Ventura

Mengatasi Error “no matching host key type found. Their offer: ssh-rsa,ssh-dss” Setelah Upgrade MacOS Ventura Saat Melakukan SSH

Posted by

Bulan Oktober 2022 lalu, Apple resmi release MacOS terbaru mereka, yaitu MacOS Ventura. Beberapa fitur baru ditawarkan pada Ventura ini, adapun untuk detailnya bisa cek langsung pada referensi berikut : https://www.apple.com/id/macos/ventura/

Hari kemarin pun saya akhirnya coba upgrade Macbook saya ke Ventura, over all berjalan lancar tanpa kendala. Namun pada saat pemakaian sehari-hari, muncul kendala saat mau melakukan remote SSH ke salah satu server yang berada di cloud. Pada saat SSH muncul pesan error seperti berikut

Unable to negotiate with x.x.x.x port 22: no matching host key type found.
Their offer: ssh-rsa,ssh-dss

Berdasarkan beberapa referensi yang saya cari, sepertinya MacOS Ventura ini menggunakan OpenSSH_9.0p1 yang dimana ssh-rsa sudah didisable sejak versi OpenSSH_8.8, sehingga ketika remote SSH ke server yang masih menggunakan ssh-rsa jadi tidak bisa, dan kebetulan server yang mau di remote masih menggunakan openssh-server versi lama yang belum mendukung key type terbaru.

This release disables RSA signatures using the SHA-1 hash algorithm by default. 
This change has been made as the SHA-1 hash algorithm is cryptographically broken, 
and it is possible to create chosen-prefix hash collisions for <USD$50K [1]

Baca juga : Mengubah Lokasi Directory Screenshot pada MacOS

Adapun untuk solusi hal tersebut, yang paling utama sebenarnya disisi server yang mau diremote, package openssh-server nya harus di update ke versi terbaru, atau jika hal ini tidak bisa, mau tidak mau disisi client, dalam hal ini Macbook saya yang harus mengalah dengan mengaktifkan ssh-rsa kembali dengan cara menambahkan option HostKeyAlgorithms=+ssh-rsa dan PubkeyAcceptedKeyTypes=+ssh-rsa pada file config di Macbook

Buat atau edit file ~/.ssh/config, lalu tambahkan baris berikut

Host old-host
        HostkeyAlgorithms +ssh-rsa
	PubkeyAcceptedAlgorithms +ssh-rsa

old-host silakan diganti dengan IP/hostname yang tidak bisa di remote SSH sesuai case diatas. Jika sudah, lalu chmod 600

chmod 600 ~/.ssh/config

Silakan dicoba test SSH kembali, seharusnya masalah diatas sudah clear dan sudah bisa SSH kembali

Mungkin cukup sekian, semoga bermanfaat

One comment

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.