Respostas:
O encaminhamento de porta dinâmico no nível do aplicativo ( ssh -D
) não suporta esse recurso. Dê uma olhada no Dante para:
[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
Mas observe que a senha é transmitida em texto não criptografado .
Para configurar a autenticação baseada em nome de usuário, abra o /etc/sockd.conf
arquivo e adicione / altere o seguinte:
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
}
Verifique as tomadas de audição depois de iniciar:
# 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
Dê uma olhada no arquivo de logs ( /var/log/messages
ou /var/log/dante.log
) se você errar algo.
PS: o arquivo de senha do sistema ( /etc/passwd
) é usado para verificar uma combinação de nome de usuário e senha.
ssh -D
não requer uma senha de acesso e, com a implementação atual, não é possível exigir uma senha. Se desejar, você pode configurar um proxy de vários estágios usando um servidor http existente (por exemplo, apache) que, em seguida, usa o túnel ssh para sua conexão de saída.
Por outro lado, se você chegar tão longe no mato, provavelmente estará seguindo o caminho errado e talvez precise repensar o que está tentando realizar.