GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Cara Mengatur Port Forward Jarak Jauh Pada Port 80 Ke Localhost Dengan Bantuan Setcap?

Saya ingin menerima koneksi secara singkat untuk pengembangan saat saya NATed, jadi saya mencoba melakukan ini:

$ ssh [email protected] -R 80:localhost:80

Yang gagal saat saya mencoba mengikat port yang terlalu rendah:

Warning: remote port forwarding failed for listen port 80

Jadi saya menemukan bahwa saya dapat melakukan setcap 'cap_net_bind_service=+ep' /my/application untuk mengizinkannya mendengarkan port yang lebih rendah dari 1024. Jadi saya punya ini di crontab suders saya:

@reboot setcap 'cap_net_bind_service=+ep' /usr/sbin/sshd

Tapi itu masih tidak membiarkan saya mengikat pada port 80. Apa yang saya lakukan salah? Saya hanya akan menggunakan nginx untuk melakukan proxy ke 8080 atau iptables atau sesuatu sebagai gantinya, tetapi saya masih penasaran mengapa apa yang saya coba lakukan tidak berhasil.

Jawaban yang Diterima:

OpenSSH akan menolak mentah-mentah untuk mengikat ke port yang diistimewakan kecuali id ​​pengguna dari pengguna yang masuk adalah 0 (root). Baris kode yang relevan adalah:

if (!options.allow_tcp_forwarding ||
    no_port_forwarding_flag ||
    (!want_reply && listen_port == 0) ||
    (listen_port != 0 && listen_port < IPPORT_RESERVED &&
    pw->pw_uid != 0)) {
        success = 0;
        packet_send_debug("Server has disabled port forwarding.");

Sumber:http://www.openssh.com/cgi-bin/cvsweb/src/usr.bin/ssh/serverloop.c?annotate=1.162 lines 1092-1098

Jika Anda penasaran, pw bertipe struct passwd * dan di linux didefinisikan dalam /usr/include/pwd.h


Linux
  1. SSH ke Port Selain 22:Bagaimana Melakukannya (dengan Contoh)

  2. Bagaimana menemukan file duplikat di Linux? Bantuan ada di sini dengan perintah fdupes!

  3. Bagaimana Cara Mengatur Tanggal Dengan Format Epoch?

  1. Cara Mengatur Tunneling SSH

  2. Bagaimana Mengubah Port Default Remote Desktop (vnc)?

  3. Bagaimana saya bisa mem-port forward dengan iptables?

  1. Linux – Bagaimana Cara Memasang Sistem File Jarak Jauh Dengan Menentukan Nomor Port?

  2. Bagaimana Cara Mendapatkan Localhost Dengan Direktori Berbeda Agar Indeks Bekerja?

  3. Bagaimana Mengganti Nama Kumpulan File Dengan Pola?