Як я можу налаштувати проксі-сервер SOCKS через ssh за допомогою аутентифікації на основі пароля на CentOS?


10

Я знаю, як налаштувати простий проксі, використовуючи ssh -D, але я хочу використовувати для цього випадку автентифікацію на основі імені користувача та пароля. Чи є спосіб?

Відповіді:


5

Динамічне переадресація портів на рівні програми ( ssh -D) не підтримує цю функцію. Погляньте на Данте замість:

[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

Але зауважте, що пароль передається у чіткому тексті .

Щоб налаштувати автентифікацію на основі імені користувача, відкрийте /etc/sockd.confфайл та додайте / змініть наступне:

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
}

Перевірте розетки для прослуховування після запуску:

# 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        

Погляньте на файл журналів ( /var/log/messagesабо /var/log/dante.log), якщо у вас щось не так.

PS: файл системного пароля ( /etc/passwd) використовується для перевірки комбінації імені користувача та пароля.


4

ssh -Dне вимагає вимагати пароля для доступу, і при поточній реалізації не можна зробити так, щоб вимагати пароль. Якщо ви хочете, ви можете встановити багатоступеневий проксі, використовуючи вихідний http-сервер (наприклад, апаш), який потім використовує тунель ssh для вихідного з'єднання.

Знову ж таки, якщо ви потрапите так далеко в бур’ян, то, ймовірно, ви йдете по неправильній дорозі і, можливо, вам доведеться переосмислити те, що ви намагаєтеся досягти.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.