Próbuję użyć Cisco anyconnect 3.1 z wiersza poleceń systemu Linux, aby połączyć się z serwerem. Mogę się połączyć, ale muszę przesłać jeden parametr na raz. Chciałbym połączyć się ze skryptu, który będzie działał na innym serwerze. Czy mogę to zrobić? Coś jak
vpn connect server_add group_name user_name passwd
networking
vpn
cisco-vpn-client
Kelly Goedert
źródło
źródło
Odpowiedzi:
Zakładając, że
/opt/cisco/anyconnect/bin/vpnagentd
działa tak, jak powinno być automatycznie:Aby połączyć :
Zastąpić
USERNAME
,PASSWORD
iHOST
. Na\ny
końcu jest zaakceptowanie banera logowania - jest to specyficzne dla mojego hosta.Zwróć uwagę na pojedyncze cudzysłowy
'
zamiast podwójnych"
- to dlatego, że podwójne cudzysłowy nakazują Bashowi interpretowanie określonych znaków w ciągach znaków, takich jak wykrzykniki, jako polecenia historii Bash. Podwójne cudzysłowy spowodują, że to polecenie zakończy się niepowodzeniem z błędem „nie znaleziono zdarzenia”, jeśli hasło zawiera wykrzyknik. Ciągi z pojedynczymi cudzysłowami przekazują wykrzykniki bez ich interpretowania.Aby odłączyć :
Zostało to przetestowane z AnyConnect v3.1.05160.
źródło
Certificate is from an untrusted source
, a nadal chcesz połączyć następnie przekazaćy
parametr w podany powyżej sposób tak, że polecenie, aby połączyć postać:printf "y\nUSERNAME\nPASSWORD\ny" | /opt/cisco/anyconnect/bin/vpn -s connect HOST
. Pamiętaj, że rób to tylko wtedy, gdy absolutnie ufasz swojemu połączeniu; w przeciwnym razie może być siedzący pośrednik i węszący na ciebie.GROUPNAME\nUSERNAME\nPASSWORDy
. Jeśli chcesz, aby twoje hasło było oddzielone od polecenia (może to być skrypt powłoki lub powiązanie klucza z plikiem dotfile), możesz to zrobić:cat ~/.anyconnect_credentials | /opt/cisco/anyconnect/bin/vpn -s connect HOST
>> notice: Please respond to banner. MYPASSWORD
Natrafiłem na tę samą trudność, próbując użyć Cisco AnyConnect z terminala Mac OS X. Aby polecenie vpn firmy Cisco pobierało dane ze standardowego wejścia, należy określić opcję -s, która przełącza polecenie cisco vpn w tryb interaktywny. Następnie możesz podać odpowiedzi udzielone w trybie interaktywnym.
Odpowiedzi, które musisz udzielić, zależą od tego, jak administrator serwera VPN skonfigurował serwer. Dla mnie interaktywne monity VPN są
Tak więc polecenie, które wykonuję, to
(Cytaty wokół EOF mają zapobiegać rozszerzaniu / zastępowaniu poleceń / parametrów w poniższym wejściu.)
Zjazd na końcu jest, aby wyjść z trybu interaktywnego Cisco VPN.
źródło
Lubię upraszczać wiersz poleceń, więc używam powyższego podejścia w skrypcie powłoki o nazwie gotowork. Jak wyżej, muszę podać grupę, moją nazwę użytkownika i klucz dostępu złożony z prywatnego kodu PIN oraz hasła RSA SecurID. Nie muszę odpowiadać na powyższe „zaakceptować?” pytanie. Wszystko oprócz hasła RSA znajduje się w skrypcie, więc wiersz poleceń to
Muszę uruchomić go jako root. Załóżmy, że PIN to 1234. Podstawy skryptu:
Korzystanie z anyconnect 3.1.05170. Testowany na Debian 6, LinuxMint 17
źródło
0\n
konieczne? Czy jest to specyficzne dla twojej firmy?0
, po którym następuje nowa linia,\n
po której następuje nazwa użytkownika, po której następuje nowa linia\n
itp.0
oznacza „użyj pierwszej grupy”.To właśnie działało dla mnie na OSX El Capitan. Symbole zastępcze są otoczone [nawiasami kwadratowymi].
Umożliwić
Wyłączyć
* Wiem, że jest to podobne do powyższej odpowiedzi Petera S.
źródło
printf "y\n[GROUP]\n\n[PASSWORD]\ny\n" | /opt/cisco/anyconnect/bin/vpn -s connect HOST