Saya memiliki server yang menjalankan Ubuntu dan daemon OpenSSH. Sebut saja S1.
Saya menggunakan server ini dari mesin klien (sebut saja salah satunya C1) untuk melakukan reverse tunnel SSH dengan menggunakan penerusan port jarak jauh, misalnya:
ssh -R 1234:localhost:23 login@S1
Pada S1, saya menggunakan file sshd_config default. Dari apa yang saya lihat, siapa pun yang memiliki kredensial yang tepat {login, pwd} pada S1 dapat login ke S1 dan melakukan penerusan port jarak jauh dan penerusan port lokal. Kredensial semacam itu bisa menjadi sertifikat di masa depan, jadi menurut saya, siapa pun yang meraih sertifikat dapat masuk ke S1 dari tempat lain (tidak harus C1) dan karenanya membuat penerusan pelabuhan lokal.
Bagi saya, mengizinkan penerusan porta lokal terlalu berbahaya, karena memungkinkan untuk membuat semacam proxy publik. Saya mencari cara untuk menonaktifkan hanya penerusan -L.
Saya mencoba yang berikut ini, tetapi ini menonaktifkan penerusan lokal dan jarak jauh:
AllowTcpForwarding No
Saya juga mencoba yang berikut ini, ini hanya akan memungkinkan -L ke SX: 1. Ini lebih baik daripada tidak sama sekali, tetapi tetap bukan yang saya butuhkan, yang merupakan opsi "tidak ada".
PermitOpen SX:1
Jadi saya bertanya-tanya apakah ada cara, sehingga saya bisa melarang semua port lokal ke depan untuk menulis sesuatu seperti:
PermitOpen none:none
Apakah mengikuti ide yang bagus?
PermitOpen localhost:1