Saya ingin mengatur ssh tunnel ke server mysql yang ada di komputer yang memiliki mesin virtual. Terowongan juga harus berfungsi jika mesin dihidupkan ulang.
Jadi katakanlah A adalah komputer dengan perangkat lunak linux. B - mesin virtual di komputer A.
MySQL ada di B.
C - adalah mesin virtual di komputer A yang ingin terhubung ke MySQL di B.
Sekarang dengan artikel ini: http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id/
Saya mencoba menyalin kunci publik ke server jauh. Saya kira saya perlu menyalinnya ke komputer A.
ssh-copy-id -i id_rsa.pub.bak [user]@[IP of A] -p [port of A]
Enter passphrase for key '/home/[user]/.ssh/id_rsa':
Permission denied (publickey).
Sekarang saya mencoba memasukkan passphrase dari file id_rsa.pub.bak. Itu ditolak.
Kemudian saya melihat bahwa ia menggunakan kunci di /home/[user[/.ssh/id_rsa yang berbeda dari kunci publik yang saya coba salin, maksud saya tentu saja kunci pribadi berbeda, tapi maksud saya, saya menyalin kunci publik yang lain kunci pribadi. Jadi saya mencoba menggunakan frasa sandi itu. Juga ditolak.
Bagaimana saya bisa men-debug mengapa frasa sandi ditolak?
Memperbarui
Berdasarkan komentar saya membuat file publik baru bernama id_rsa.pub di mana semuanya berada dalam satu baris sekarang
dan jalankan dan masih mendapatkan error.
ssh-copy-id -i id_rsa.pub [host and port] -vvv
Enter passphrase for key '/home/[user]/.ssh/id_rsa':
Permission denied (publickey).
Memperbarui
Memeriksa izin pada folder .ssh dan file Authorized_key di komputer A - mereka 700 dan 600 sehingga komentar mengatakan mereka baik.
Memperbarui
Mencoba mengatur otentikasi kata sandi ya di komputer dan untuk memulai kembali layanan. Restart karena jawaban tidak berfungsi, itu menulis sshd tidak dikenali, jadi saya memulai kembali menggunakan:
sudo /etc/init.d/ssh restart
Kemudian coba lagi pada mesin C untuk menyalin ke mesin A.
ssh-copy-id -i id_rsa.pub [user@host] -p [port] -v
dan masih sama:
Enter passphrase for key '/home/[user]/.ssh/id_rsa':
Permission denied (publickey).
Jika saya pergi menyalin kunci secara manual ke otor_keys, saya melihat bahwa kunci publik sudah ada, yang sama yang ingin saya salin. Saya bertanya kepada rekan kerja saya, dia bilang dia tidak menyalinnya. Jadi saya bahkan tidak mengerti bagaimana itu bisa ada di sana.
Ok, jika ada, itu akan baik, tetapi dengan tetap di sana tidak membiarkan saya terhubung dengan ssh tanpa memasukkan frasa sandi. Tapi saya bisa terhubung dengan memasukkan frasa sandi. Jadi ada sesuatu yang jelas salah di sini. Dan kunci yang saya coba salin adalah dengan frasa sandi kosong. Ketika saya terhubung dengan ssh - saya memasukkan frasa sandi yang tidak kosong.
Kunci publik yang sama tidak dapat menerima frasa sandi kosong dan dan frasa sandi tidak kosong, itu masuk akal. Tapi mengapa kunci publik yang saya coba unggah sama dengan yang ada di file Authorized_key jika frasa sandi berbeda? Saya tidak memeriksa setiap karakter, tetapi tidak mungkin bahwa kunci akan sangat mirip sehingga permulaan dan akhir akan sama bahkan ketika frasa sandi berbeda saya pikir.
id_rsa
yang Anda miliki? Saya berharapssh-copy-id
untuk gagal dengan pesan kesalahan seperti yang Anda sebut, karena mengharapkan file berakhir dengan.pub
. Karena milik Anda berakhir dengan.bak
itu mungkin akan digunakanid_rsa.pub.bak.pub
.Jawaban:
Anda sebenarnya harus masuk untuk menyalin kunci Anda, Anda tidak memiliki akses ke mesin jarak jauh (kunci tidak valid dan otentikasi kata sandi dinonaktifkan):
Aktifkan kembali otentikasi passwd di / etc / ssh / sshd_config:
Kemudian mulai kembali layanan:
Salin kunci publik Anda:
Coba masuk lagi, tidak perlu kata sandi.
Kemudian nonaktifkan otentikasi kata sandi.
sumber
Permission denied (publickey)
adalah server SSH jarak jauh yang mengatakan "Saya hanya menerima kunci publik sebagai metode otentikasi, pergilah".Itulah tantangan utama Anda: Masuk ke sistem jarak jauh. Setelah melakukannya, Anda dapat mengunggah kunci Anda:
ssh-copy-id
- ini akan memungkinkan Anda untuk menentukan kunci yang berbeda jika Anda sedang dalam proses mengganti yang lama, misalnya.~/.ssh/authorized_keys
untuk menambahkan kunci Anda secara manual.sumber
Akhirnya menemukan masalah.
Sebenarnya saya tidak perlu menyalin kunci publik. Kunci publik yang sama adalah untuk kedua kunci pribadi - dengan frasa sandi dan tanpa frasa sandi. Saya pikir saya memiliki kunci pribadi tanpa frasa sandi, tetapi sebenarnya saya tidak melakukannya. Saya hanya punya .ppk tanpa frasa sandi. Itu adalah komunikasi yang hilang. Jadi rekan kerja membuat kunci pribadi tanpa frasa sandi dan jadi sekarang saya bisa masuk menggunakan ssh tanpa frasa sandi. Saya membaca bahwa memiliki tanpa frasa sandi itu buruk, tetapi rekan kerja mengatakan itu tidak apa-apa. Saya perlu tanpa frasa sandi karena saya perlu menjalankan skrip shell saat reboot - Saya ingin memulai autossh di reboot komputer.
Jadi jenis solusinya kali ini - jika Anda ingin masuk tanpa frasa sandi - periksa apakah kunci pribadi Anda tanpa frasa sandi sebenarnya.
sumber