Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Buat Terowongan SSH untuk Akses Jarak Jauh MySQL

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:

  1. UnduhPuTTY.

  2. Simpan Putty ke desktop Anda.

  3. Klik dua kali file Putty untuk memulai - tidak perlu menginstal. Anda akan melihat jendela berikut:

  4. Masukkan nama host atau alamat IP Linode Anda di Nama Inang (atau alamat IP) lapangan.

  5. Di menu sebelah kiri, buka Connection -> SSH -> Tunnels .

  6. Di Port sumber kolom, masukkan 3306 .

  7. Di Tujuan kolom, masukkan 127.0.0.1:3306 . Lihat konfigurasi terakhir di bawah ini:

  8. Klik Buka untuk memulai sesi SSH.

  9. 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.

  10. 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.

  1. 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
    
  2. 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
    
  3. 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.

  4. 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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memuat file .sql dari dalam PHP

  2. Cari string dalam kolom teks di MySQL

  3. Bagaimana menghindari MySQL 'Deadlock ditemukan saat mencoba mendapatkan kunci; coba mulai ulang transaksi'

  4. Python Dari Awal:Buat Situs Web Dinamis

  5. MySQL CAST vs CONVERT