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.conf
fichier 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/messages
ou /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 -D
ne 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.