Я пытаюсь построить VPN между виртуальной машиной и несколькими Raspberry Pi.ВМ является VPN-сервером.
Мне нужна аутентификация с сертификатом без пароля, потому что он должен иметь возможность автоматического подключения к VPN при загрузке ОС на pi.
Я использовал easy-rsa-3 для генерации сертификатов, с опцией nopass, и, кажется, она отлично работает.
При тестировании на моем рабочем столе, с командой:
sudo openconnect https://vpn.mydomain.com/ --no-dtls -c client_01.p12
Я получаю
To trust this server in future, perhaps add this to your command line:
--servercert sha256:ac5f7da20ef6fd872488b10f7730a15b0b913c68d083bdb5db3931xxxxxxxxxxxxx
Enter 'yes' to accept, 'no' to abort; anything else to view:
, когдадобавив этот параметр в командную строку, он работает без необходимости какого-либо вывода.
Вот журнал, у меня есть предупреждения signer not found
, но я не знаю, являются ли они важными.
POST https://vpn.mydomain.com/
Connected to xx.xx.xx.xx:443
Using client certificate 'client_01'
SSL negotiation with vpn.mydomain.com
Server certificate verify failed: signer not found
Connected to HTTPS on vpn.mydomain.com
XML POST enabled
SSL negotiation with vpn.mydomain.com
Server certificate verify failed: signer not found
Connected to HTTPS on vpn.mydomain.com
Got CONNECT response: HTTP/1.1 200 CONNECTED
CSTP connected. DPD 90, Keepalive 32400
Connected as 192.168.23.3, using SSL
RTNETLINK answers: File exists
Но когда я попробую то же самое на малине, он соединится, если я наберу yes
в ответ на вопрос:
Certificate from VPN server "vpn.mydomain.com" failed verification.
Reason: signer not found
Enter 'yes' to accept, 'no' to abort; anything else to view: yes
, но это не говорит мне о добавлении--servercert
param
Почему поведение отличается и как мне поступить?Но когда я соединяюсь с командой:
sudo openconnect https://vpn.mydomain.com/ --no-dtls -c client_01.p12