Panduan ini akan menunjukkan kepada Anda cara membuat koneksi aman ke server MySQL atau MariaDB jarak jauh dari komputer lokal Anda, menggunakan SSH tunnel . Ini berguna jika Anda ingin menggunakan alat administrasi di komputer lokal Anda untuk melakukan pekerjaan di server Anda.
Terowongan SSH adalah terowongan terenkripsi yang dibuat melalui koneksi protokol SSH. Anda dapat menggunakan terowongan SSH untuk berkomunikasi dari jarak jauh dengan database MySQL. Setelah mengikuti petunjuk ini, Anda akan dapat terhubung ke localhost
di workstation Anda menggunakan alat manajemen MySQL favorit Anda. Koneksi akan diteruskan dengan aman ke Linode Anda melalui Internet.
Catatan MariaDB adalah fork dari MySQL dan dianggap sebagai pengganti adrop-in. Meskipun panduan ini merujuk ke MySQL, panduan ini juga berlaku untuk MariaDB.
Prasyarat
- MySQL telah diinstal.
- MySQL dikonfigurasi untuk mendengarkan di
localhost
(127.0.0.1). Ini diaktifkan secara default.
Cara Mengakses MySQL dari Jarak Jauh dengan Membuat SSH Tunnel dengan Putty
Bagian ini akan menunjukkan cara membuat terowongan SSH ke MySQL di Windows, menggunakan alat Putty.
Menyiapkan Terowongan
Pertama, Anda perlu membuat koneksi dasar ke Linode Anda:
-
UnduhPuTTY.
-
Simpan Putty ke desktop Anda.
-
Klik dua kali file Putty untuk memulai - tidak perlu menginstal. Anda akan melihat jendela berikut:
-
Masukkan nama host atau alamat IP Linode Anda di Nama Inang (atau alamat IP) lapangan.
-
Di menu sebelah kiri, buka Connection -> SSH -> Tunnels .
-
Di Port sumber kolom, masukkan
3306
. -
Di Tujuan kolom, masukkan
127.0.0.1:3306
. Lihat konfigurasi terakhir di bawah ini: -
Klik Buka untuk memulai sesi SSH.
-
Jika Anda belum pernah masuk ke sistem ini dengan Putty sebelumnya, Anda akan menerima peringatan seperti berikut. Verifikasi bahwa server ini yang ingin Anda sambungkan, lalu klik Ya :
Catatan
Peringatan ini muncul karena Putty ingin Anda memverifikasi bahwa server yang Anda masuki adalah yang dikatakannya. Tidak mungkin, tetapi mungkin, seseorang dapat menguping koneksi Anda dan menyamar sebagai Linode Anda. Untuk memverifikasi server, bandingkan sidik jari kunci yang ditampilkan dalam peringatan Putty - rangkaian angka dan huruf yang dimulai dengan ssh-rsa pada gambar di atas - dengan sidik jari kunci publik Linode Anda. Untuk mendapatkan sidik jari Linode Anda, masuk ke Linode Anda melalui konsol Lish (lihat Konsol tab di Linode Manager) dan jalankan perintah berikut:
ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key.pub
Sidik jari kunci harus cocok. Setelah Anda mengeklik Ya , Anda tidak akan menerima peringatan lebih lanjut kecuali kunci yang disajikan ke Putty berubah karena alasan tertentu; biasanya, ini hanya akan terjadi jika Anda menginstal ulang sistem operasi server jauh. Jika Anda menerima peringatan ini lagi untuk Linode yang sama setelah kunci telah di-cache, Anda tidak boleh mempercayai koneksi dan menyelidiki masalah lebih lanjut.
-
Arahkan klien MySQL lokal Anda ke
localhost:3306
. Koneksi Anda ke server MySQL jarak jauh akan dienkripsi melalui SSH, memungkinkan Anda mengakses database Anda tanpa menjalankan MySQL pada IP publik.
Membuat Terowongan SSH di Mac OS X atau Linux
Bagian ini akan menunjukkan cara membuat terowongan SSH ke MySQL di Mac OS X atau Linux.
-
Instal klien MySQL. Menginstal server MySQL sudah dikemas dengan instalasi klien. Untuk menginstal klien saja:
MacOS
brew install --cask mysql-shell
Ubuntu/Debian
sudo apt install mysql-client
-
Buka prompt perintah dan jalankan perintah berikut untuk membuka terowongan SSH.
ssh [email protected] -L 3306:127.0.0.1:3306 -N
Ganti <[email protected]> dengan nama pengguna SSH Anda dan nama host atau alamat IP server Anda. String panjang angka dalam perintah mencantumkan IP lokal, port lokal, IP jarak jauh, dan port jarak jauh, dipisahkan oleh titik dua (: ).
-L
- mengikat port lokal ke pos host jarak jauh.-N
- berarti meneruskan port.Catatan
Jika Anda sudah menjalankan server MySQL lokal di workstation Anda, gunakan port lokal yang berbeda (3307 adalah pilihan umum). Perintah baru Anda akan terlihat seperti ini:
ssh [email protected] -L 3307:127.0.0.1:3306 -N
-
Buka jendela terminal baru. Arahkan klien MySQL lokal Anda ke
127.0.0.1:3306
dengan nama pengguna dan kata sandi server MySQL.MacOS
mysqlsh --host=127.0.0.1 --port=3306 -u user -p
Ubuntu/Debian
mysql --host=127.0.0.1 --port=3306 -u user -p
Koneksi Anda ke server MySQL jarak jauh akan dienkripsi melalui SSH, memungkinkan Anda mengakses database Anda tanpa menjalankan MySQL pada IP publik.
-
Saat Anda siap untuk menutup sambungan, keluarkan CTRL-C perintah atau tutup jendela prompt perintah. Ini akan menutup terowongan SSH.
Koneksi SSH Persisten
Jika Anda membutuhkan terowongan SSH yang persisten, pertimbangkan untuk menggunakan autossh. autossh memulai dan memantau koneksi SSH, dan memulai ulang jika perlu.
Informasi Lebih Lanjut
Anda mungkin ingin berkonsultasi dengan sumber daya berikut untuk informasi tambahan tentang topik ini. Meskipun ini disediakan dengan harapan dapat bermanfaat, harap perhatikan bahwa kami tidak dapat menjamin keakuratan atau ketepatan waktu materi yang dihosting secara eksternal.
- Menggunakan Putty
- Dokumentasi MySQL
- Dokumentasi MariaDB
- autossh