Saya telah membuat terowongan melalui autossh.
Ini bekerja:
autossh -M 33201 -N -i myIdFile -R 33101:localhost:22 [email protected]
Saya ingin menjalankan autossh di latar belakang. Tampaknya mudah menggunakan -f
opsi.
Namun ini tidak berhasil:
autossh -f -M 33201 -N -i myIdFile -R 33101:localhost:22 [email protected]
Autossh berjalan di latar belakang baik-baik saja, tetapi koneksi ssh tampaknya gagal setiap saat. Di / var / syslog saya melihat beberapa kejadian:
autossh[3420]: ssh exited with error status 255; restarting ssh
Apa yang saya lakukan salah? Tebakan liar itu ada hubungannya dengan otentikasi melalui file kunci. Bagaimana saya bisa men-debug ini (menambahkan -v ke opsi ssh tampaknya tidak masuk di mana saja).
Sunting: Saya mendapatkan beberapa ssh log menggunakan opsi -y
/usr/bin/ssh[3484]: debug1: Next authentication method: publickey
/usr/bin/ssh[3484]: debug1: Trying private key: /home/myuser/.ssh/id_rsa
/usr/bin/ssh[3484]: debug1: Trying private key: /home/myuser/.ssh/id_dsa
/usr/bin/ssh[3484]: debug1: Trying private key: /home/myuser/.ssh/id_ecdsa
/usr/bin/ssh[3484]: debug1: No more authentication methods to try.
/usr/bin/ssh[3484]: fatal: Permission denied (publickey).
autossh[3469]: ssh exited with error status 255; restarting ssh
Jadi sepertinya autossh tidak menerima file identitas saya ( -i myIdFile
) ketika menggunakan opsi -f. Mengapa demikian?
(autossh 1.4c pada Raspian)
ssh
ssh-tunnel
henning77
sumber
sumber
Jawaban:
Sepertinya ketika autossh turun ke latar belakang (opsi -f) itu sedang mengubah direktori kerja, artinya jalur relatif tidak berfungsi lagi. Atau lebih spesifik: Dengan memasukkan jalur absolut dari file id Anda, Anda mungkin akan berhasil.
Saya membuat ulang skenario dengan membuat kunci tanpa kata sandi di lokasi non-default:
Saya cukup menekan enter dua kali untuk menghasilkan kunci yang tidak dilindungi oleh kata sandi.
Saya menyalin kunci baru ke server saya (yang memungkinkan otentikasi kata sandi saat ini):
Pertama saya mengkonfirmasi kunci itu bekerja dengan ssh biasa, kemudian menggunakan autossh seperti Anda:
Keduanya bekerja dengan baik, jadi saya menciptakan kembali masalah yang Anda miliki:
Ini tidak berhasil dan berikut ini ditulis untuk
/var/log/syslog
:Dengan mengubah jalur keyfile menjadi absolut, itu berhasil:
Tidak ada kesalahan dalam
/var/log/syslog
.sumber
Tidak yakin apa yang terjadi dengan -f tetapi Anda juga bisa menghapusnya:
sumber
nohup
juga bekerja untuk berjalan diautossh
bawahrunit
di Linux LinuxTambahkan parameter berikut ke SSH untuk memotong "Apakah Anda yakin ingin terus menghubungkan (ya / tidak)?"
Perintah terakhir akan dalam format berikut:
sumber
StrictHostKeyChecking=no
kecuali Anda terhubung dengan mainan singkat yang dikenal baik - dan Anda memilih untuk malas.