Réponses:
La redirection de port dynamique au niveau de l'application ( ssh -D) ne prend pas en charge cette fonctionnalité. Jetez plutôt un œil au Dante :
[I] net-proxy/dante
Available versions: 1.1.19-r4 (~)1.2.3 (~)1.3.0 (~)1.3.1 (~)1.3.1-r1 (~)1.3.2 {debug kerberos pam selinux static-libs tcpd}
Installed versions: 1.3.2(04:14:03 PM 11/08/2011)(pam static-libs tcpd -debug -kerberos -selinux)
Homepage: http://www.inet.no/dante/
Description: A free socks4,5 and msproxy implementation
Mais notez que le mot de passe est transmis en texte clair .
Pour configurer l'authentification basée sur le nom d'utilisateur, ouvrez le /etc/sockd.conffichier et ajoutez / modifiez les éléments suivants:
logoutput: syslog /var/log/dante.log
# methods for socks-rules.
method: username #rfc931
# when doing something that can require privilege,
# it will use the userid "sockd".
user.privileged: root
# when running as usual,
# it will use the unprivileged userid of "sockd".
user.notprivileged: sockd
pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
protocol: tcp udp
command: bind connect udpassociate
log: error
method: username
}
Vérifiez les prises d'écoute après le démarrage:
# netstat -nlp | grep sockd
tcp 0 0 127.0.0.1:1080 0.0.0.0:* LISTEN 5463/sockd
tcp 0 0 192.168.15.36:1080 0.0.0.0:* LISTEN 5463/sockd
Jetez un œil au fichier journaux ( /var/log/messagesou /var/log/dante.log) si vous vous trompez.
PS: le fichier de mot de passe système ( /etc/passwd) est utilisé pour vérifier une combinaison nom d'utilisateur / mot de passe.
ssh -Dne nécessite pas de mot de passe pour l'accès, et avec l'implémentation actuelle, il n'est pas possible d'exiger un mot de passe. Si vous le souhaitez, vous pouvez configurer un proxy à plusieurs étapes en utilisant un serveur http sortant (par exemple, apache) qui utilise ensuite le tunnel ssh pour sa connexion sortante.
Là encore, si vous arrivez jusque-là dans les mauvaises herbes, vous vous engagez probablement dans la mauvaise direction et devrez peut-être repenser ce que vous essayez d'accomplir.