Saya mencoba untuk terhubung ke database saya melalui tunneling SSH dari salah satu server aplikasi web kami dengan MySQL Workbench. Inilah konfigurasi dasar; perhatikan bahwa saya mengubah beberapa nilai di tangkapan layar untuk alasan keamanan.
Masalahnya adalah setiap kali saya mencoba untuk terhubung melalui terowongan SSH dari salah satu server aplikasi kami, saya mendapatkan kesalahan berikut:
Gagal terhubung ke us-east-1.amazonaws.com melalui terowongan SSH di computer.amazonaws.com dengan pengguna social_shop_prod. Tidak dapat terhubung ke server MySQL di 127.0.0.1.
Namun, jika saya menggunakan kredensial yang sama melalui SSH melalui baris perintah berikut:
mysql -u social_shop_prod -h us-east-1.amazonaws.com -p
Saya dapat terhubung dengan sukses dan mendapatkan prompt perintah interaktif MySQL.
Telah berbicara dengan anggota tim pengembangan saya di sini dan tidak ada di antara kita yang bisa mengetahui mengapa saya tidak bisa menggali SSH dari server aplikasi kami dengan Workbench; tetapi ketika saya SSH ke salah satu server aplikasi kami dan terhubung ke MySQL melalui baris perintah; Saya dapat terhubung dengan sukses.
Dan mengapa itu mencoba menghubungkan lebih dari 127.0.0.1? Saya tidak menentukan itu dalam konfigurasi; file host saya juga tidak mengarahkan domain yang ditunjukkan di bawah ini ke IP itu.
Masukan konstruktif apa pun sangat dihargai.
sumber
Saya terus berurusan dengan masalah ini selama hampir 2 minggu sekarang saya sudah berhasil mengaturnya. Saya akan mempostingnya di sini sehingga lebih banyak orang dapat mencobanya.
Ok, saya menggunakan OpenSSH (Win10 asli) dan Workbench 8.
Langkah-demi-langkah:
1. Tambahkan kunci host SSH Anda ke agen menggunakan ssh-add.
2. Hasilkan pasangan kunci menggunakan ssh-keygen. Dalam kasus saya, file-file ini masuk secara otomatis
Users/myUser/.ssh
sesuai konfigurasi instalasi.3. Tambahkan kunci publik ke file otor_keys (yang harus ada di dalam jalur instalasi server Anda, dalam kasus saya
Windows/System32/OpenSSH/.ssh
) tanpa ekstensi.4. Tambahkan kunci yang dibuat Anda baru saja dibuat untuk agen menggunakan ssh-add.
Langkah-langkah di atas cukup banyak konfigurasi dari SSH Server baris perintah yang saya tahu OP sudah lakukan untuk koneksi-nya bekerja melalui terminal. Untuk mengkonfigurasi MySQL Workbench 8 Anda cukup banyak melakukan hal yang sama persis kecuali Anda harus mengkonversi private_key.pem ke format OpenSSH sebelum memindahkannya ke
Users/myUser/.ssh
danOpenSSH_instalation_path/.ssh
User/myUser/.ssh
danOpenSSH_instalation_path/.ssh
OpenSSH_instalation_path/.ssh
folder.User/myUser/.ssh
.UPDATE: Anda perlu mengatur yang berikut ini di file sshd_config Anda:
PermitRootLogin tanpa kata sandi
PubkeyAuthentication ya
PasswordAuthentication no
PermitEmptyPasswords no
AllowTcpMeneruskan ya
HARAP BACA:
Saya seorang analis yang tidak berpengalaman, jadi jika pengguna yang lebih mahir tahu di antara dua folder .ssh mana yang benar, beri tahu kami. Saya menemukan OpenSSH agak ambigu tentang ini.
Ini bekerja untuk saya sambil menetapkan lingkungan pengembangan lokal menggunakan localhost saja. Hanya untuk tujuan belajar.
Anda mungkin ingin menambahkan myUser @ localhost ke pengguna MySQL Workbench sebelum menguji koneksi.
Jika benar-benar diperlukan saya dapat menambahkan gambar.
sumber
Dalam kasus saya, masalah saya harus beralih kembali ke nama domain atau IP yang valid alih-alih host kustom yang di-host secara lokal.
Resolusi host kustom gagal (
/etc/hosts
)Saya bekerja dengan mekanisme resolusi host lokal yang didefinisikan:
Untuk beberapa alasan dengan
MySQL 5.2.47
atasLinux Mint 14 (Nadia)
yang mirip denganUbuntu 12.10 (Quantal)
yang mekanisme resolusi tidak bekerja .Larutan
Cukup beralih ke nama domain publik seperti
my-website.com
menyelesaikan masalah.sumber
Lihat di sini untuk daftar sumber daya untuk menghubungkan ke berbagai target (Amazon RDS, Amazon EC2, Windows Azure, dan lainnya): http://forums.mysql.com/read.php?152,252640,252640# msg-252640 .
sumber
Saya memiliki masalah yang sama, dan ini mungkin tidak sopan, tetapi periksa aturan firewall Anda di AWS. Saya memiliki rangkaian rentang IP, untuk membatasi koneksi dari dunia luar. Dan IP di kantor saya berubah, jadi ada di luar kisaran IP. Rekan saya di kantor lain masih bisa terhubung, jadi saya pikir masalahnya ada di PC saya, tapi masalahnya ada pada aturan firewall di AWS. Semoga itu bisa membantu seseorang :)
sumber