GNU/Linux >> Linux Esercitazione >  >> Linux

Come impostare una porta remota Forward sulla porta 80 verso l'host locale con l'aiuto di Setcap?

Vorrei accettare brevemente le connessioni per lo sviluppo quando sono NATed, quindi sto tentando di farlo:

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

Che non riesce mentre sto cercando di associare una porta troppo bassa:

Warning: remote port forwarding failed for listen port 80

Quindi ho scoperto che posso fare setcap 'cap_net_bind_service=+ep' /my/application per consentirgli di ascoltare le porte inferiori a 1024. Quindi ho questo nel mio crontab suders:

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

Ma non mi consente ancora di collegarmi alla porta 80. Cosa sto facendo di sbagliato? Userò semplicemente nginx per proxy su 8080 o iptables o qualcosa del genere, ma sono ancora curioso di sapere perché quello che stavo cercando di fare non ha funzionato.

Risposta accettata:

OpenSSH rifiuterà definitivamente di collegarsi a porte privilegiate a meno che l'ID utente dell'utente che ha effettuato l'accesso non sia 0 (root). Le righe di codice rilevanti sono:

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.");

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

Se sei curioso, pw è di tipo struct passwd * e su Linux è definito in /usr/include/pwd.h


Linux
  1. SSH per il porting diverso da 22:come farlo (con esempi)

  2. Come impostare la data con il formato Epoch?

  3. Linux:come montare un filesystem remoto specificando un numero di porta?

  4. Come ottenere il Localhost con una directory diversa dall'indice funzionante?

  5. Come rinominare l'insieme di file con pattern?

Come eseguire l'elaborazione batch di immagini su Linux Destop con XnConvert

Come configurare un firewall con GUFW su Linux

Come impostare il nome host Pretty

Come configurare un repository git con Plesk

Come modificare la porta SSH in CentOS

Come configurare il firewall UFW su Linux