Jika saya melakukan port jarak jauh ke depan, ala -R 3690:localhost:3690
ketika ikatan sudah ada di port pada host jarak jauh, saya mendapatkan peringatan ini:
Warning: remote port forwarding failed for listen port 3690
Apakah ada cara untuk memiliki ssh gagal (yaitu keluar dengan kode pengembalian bukan nol), daripada hanya memancarkan peringatan?
ssh
port-forwarding
exit-code
Matt Joiner
sumber
sumber
Jawaban:
Menjalankan
atau dimasukkan
menjadi
~/.ssh/config
. Lihatman ssh_config
detailnya.sumber
bind_address
maka ssh mungkin masih tidak gagal. Sebagai contoh jika pengguna lain sudah mendengarkan di ipv6 localhost[::1]:3690
maka ssh hanya dapat mengikat ipv4127.0.0.1:3690
dan tidak mengeluh. Tetapi klien svn Anda mungkin lebih suka soket ipv6 (penyerang). Agar aman, lebih baik digunakan-R [::1]:3690:localhost:3690 -R 127.0.0.1:3690:localhost:3690
Saya menggunakan skrip bash pada host target untuk memastikan penerusan dibuka dengan benar. Koneksi SSH akan menjalankan ini dan keluar jika ada masalah dengan penerusan port, misalnya
skrip sisi klien: (ini menggunakan .ssh / config untuk pengaturan penerusan port)
skrip sisi server (bin / sshloop.sh)
Mungkin bahkan menjalankan skrip sisi klien di bawah layar dengan -dmS
sumber