Mengupgrade ke MacOS Sierra akan merusak kunci SSH Anda dan mengunci Anda dari server Anda sendiri.

Jangan meningkatkan ke macOS Sierra jika Anda memiliki server cloud (AWS, Digital Ocean, dll.) Baca posting ini terlebih dahulu. Ini akan memandu Anda memperbarui ke Sierra dengan aman dan memperbarui kunci SSH Anda.

Seperti banyak pengembang, saya mendapat pemberitahuan dari Apple yang mengganggu saya untuk menginstal macOS Sierra baru. Saya mengklik "ingatkan saya besok" beberapa hari berturut-turut. Kemudian saya akhirnya menyerah pada suatu malam sebelum tidur.

Ketika saya bangun, saya tidak dapat lagi mengakses server Free Code Camp. Butuh beberapa saat bagi saya untuk menyadari apa yang telah terjadi. Untungnya BerkeleyTrue belum mengupgrade, dan bisa menambahkan kunci SSH baru saya.

Ternyata Apple memutuskan untuk diam-diam memaksa kunci RSA 2048-bit pada semua orang, yang merupakan ketidaknyamanan ringan bagi sebagian orang, dan kepanikan membingungkan bagi yang lain.

Jika Anda bertanya-tanya mengapa kunci RSA lebih aman daripada kunci DSA lama, sebenarnya tidak demikian. Tetapi kunci DSA biasanya hanya 1024 bit, sedangkan kunci RSA bisa lebih panjang, yang terjadi pada kunci RSA 2048-bit default Sierra. Bit ekstra tersebut membuat kunci baru ini jauh lebih sulit untuk dipecahkan.

Mari kita siapkan kunci RSA SSH 2048-bit Anda yang baru.

Langkah # 1: Hapus kunci lama Anda dan buat yang baru

Pertama, mari kita periksa dan pastikan Anda memang membutuhkan kunci baru.

Buka terminal Anda dan ketik:

ssh-keygen -l -f ~/.ssh/id_rsa.pub

Jika prompt merespons dengan string yang dimulai dengan "2048 SHA256", Anda telah selesai dan tidak perlu melakukan tindakan lebih lanjut.

Jika tidak, buat kunci baru dengan menjalankan:

ssh-keygen -t rsa

Prompt harus merespons dengan:

Generating public/private rsa key pair.Enter file in which to save the key (/Users/freecodecamp/.ssh/id_rsa):

Anda tinggal menekan enter untuk menyimpannya di tempat default. Perhatikan bahwa ini akan menimpa kunci lama (rusak) Anda.

Enter passphrase (empty for no passphrase):

Anda dapat membiarkannya kosong atau menambahkan kata sandi untuk sedikit keamanan ekstra (dan lebih banyak mengetik).

Kemudian Anda akan mendapatkan "seni" acak yang keren yang sepertinya selalu berbentuk seperti pohon Natal:

Sekarang pastikan kunci Anda memiliki izin akses yang tepat dengan menjalankan:

sudo chmod 600 ~/.ssh/id_rsa

Anda dapat memeriksa konten kunci publik Anda dengan menjalankan:

cat ~/.ssh/id_rsa.pub

Yang seharusnya mengembalikan sesuatu seperti:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDijWK+s3ybgzEdaJ5LneNU11BsIyoNS51SV11Vi5auPJW9+Ji6OUSJ9OguZh4T019ULyFF/Qq66fhH9TvMzw80lTNoChgTRMpjs2+Qg75yTINKSde+Gv4TK6UvNw6EINORcTpb32Im9hgtdTj6WqJ/hCbSltv7IfFZU5ChV7SxTaoNZTa9M5H3N8YdQ/aGt3puh222Cq5DTjV8fRWaNVvjVQRe/huHAHEzEUr1T/eTlXtoFtGeC1z+pLfYllVzizoS7tyuUksfgqox1jJJMpaZ25V/R/p/MDUc936za/8zgB8OQFRBbrP6JvXXN99DLcvs9coz9vfb2GCVrhxi1aJ5 [email protected]

Anda harus meletakkan kunci ini di server Anda. Untuk memastikan Anda menyalin semuanya, saya sarankan Anda dapat menyalinnya langsung ke clipboard dengan menjalankan:

pbcopy < ~/.ssh/id_rsa.pub

Langkah # 2: Tambahkan kunci publik baru Anda ke server Anda

Jika Anda dapat SSH ke server Anda tanpa kunci Anda, maka cobalah untuk mendapatkan akses menggunakan kata sandi jika Anda memilikinya.

Jika tidak, Anda harus meminta orang lain yang memiliki akses ke server untuk melakukan ini untuk Anda.

Jika Anda menonaktifkan akses sandi ke server Anda (yang akan direkomendasikan oleh banyak ahli untuk alasan keamanan), Anda mungkin dapat mengaktifkan kembali akses sandi untuk sementara.

Setelah Anda memiliki akses root ke server Anda - dengan asumsi itu adalah server Linux - Anda hanya perlu menjalankan perintah ini:

nano ~/.ssh/authorized_keys

Ini akan membuka file kunci resmi Anda menggunakan editor teks minimalis "nano" yang disertakan dengan sebagian besar distribusi Linux. Atau Anda bisa menggunakan Vim.

Kemudian tempelkan kunci SSH publik Anda dari sebelumnya. Tekan control + o untuk menyimpan perubahan Anda, lalu control + x untuk keluar dari nano.

Putuskan sambungan dari server Anda. Sekarang Anda siap untuk mencoba masuk menggunakan kunci SSH baru Anda.

Langkah # 3: SSH ke server Anda

Jalankan perintah ini ke SSH, ganti [email protected] dengan login dan alamat IP server Anda:

ssh -i ~/.ssh/id_rsa [email protected]

Anda harus mendapatkan akses SSH normal ke server Anda, tanpa perlu memasukkan kata sandi.

Congratulations! You’re back where you were yesterday, except now Apple will quit bugging you about upgrading your operating system. ?

I only write about programming and technology. If you follow me on Twitter I won’t waste your time. ?