Cisco AnyConnect v3.1 자동 로그인


10

자동 로그인과 관련하여 Cisco AnyConnect v3.1에서 약간의 어려움이 있습니다. 매일 하루 종일 단일 서버에 연결되어 있어야하며, 매일 16 개의 문자 암호를 파지 않아도된다면 매우 좋습니다. 클라이언트가 자동으로 로그온하기를 원하지만이 시점에서 가능성이 있는지 확실하지 않습니다.

AnyConnect 소프트웨어는 호스팅 회사에서 제공하며 본인이나 조직의 모든 사람은 관리 측면에 액세스 할 수 있습니다. 웹에 "AnyConnect Profile Editor"라는 소프트웨어가 있다는 것을 알았지 만 시스코는 유효한 로그인 없이는 다운로드 할 수 없었습니다.

나는에 봤는데 %appdata%\local\cisco\cisco anyconnect secure mobility client\preferences.xml내 환경 설정을 검토 할뿐만 아니라 %programdata%\Cisco\Cisco AnyConnect Secure Mobility Client\Profile\ANYCONNECT.XML내 프로필 설정을 검토 할 수 있습니다. 이 중 어느 것도 내 자격 증명을 저장할 수 있다는 것을 보여주지 못했습니다. 나는 심지어 장소에서 내 비밀번호를 구부려서 내 프로필을 몇 번 끊었습니다. 그것은 효과가 없었습니다.

마지막으로, 이 포럼 게시물에서 클라이언트 및 서버 인증서 "thumbprints"와 SDI 토큰을 지정하는 것 같습니다.

면책 조항 : 저는 하루 종일 프론트 엔드 웹 개발자이며 네트워크 관리를 직접해야했기 때문에 오랜 시간이 걸렸습니다. 멍청한 질문에 죄송합니다!


1
이는 일반적으로 Anyconnect 액세스를 관리하는 사람들이 설정하고 제어하는 ​​정책입니다. 구성의 해당 부분에 액세스 할 수 없다고 말했듯이 도움을 줄 수있는 방법이 많지 않을 것입니다. 그리고 이것은 "최종 사용자"질문과는 다른 주제 일 것입니다.
Brett Lykins

좋은 세부 합리적인 질문 ...에하자 마이그레이션 슈퍼 사용자
마이크 페닝 턴

답변:


16

다음은 Cisco AnyConnect Mobility Client v3.1을 시작하고 자동으로 로그인하는 스크립트입니다. 이 스크립트를 FILENAME.vbs 로 저장하고 , PASSWORD 를 비밀번호로 바꾸고, 필요한 경우 VPN Client exe의 경로를 바꾸십시오 (아마도 아님). 연결 속도에 따라 두 번째 절전 시간을 조정해야 할 수도 있습니다 (광산품) 5000에 안정적이지만 집에 전화하는 데 시간이 덜 필요할 수도 있습니다. 내 작업 표시 줄에 고정되어 있지만 핫키를 사용할 수도 있습니다.

Set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.Run """%PROGRAMFILES(x86)%\Cisco\Cisco AnyConnect Secure Mobility Client\vpnui.exe"""

WScript.Sleep 3000

WshShell.AppActivate "Cisco AnyConnect Secure Mobility Client"

WshShell.SendKeys "{TAB}"
WshShell.SendKeys "{TAB}"
WshShell.SendKeys "{ENTER}"

WScript.Sleep 5000

WshShell.SendKeys "PASSWORD"
WshShell.SendKeys "{ENTER}"

1
아주 좋은 해결책입니다! 특정 사례에 대한 추가 , ENTER절전 모드를 추가 했으며 완벽하게 작동했습니다. 내 컴퓨터와 인터넷 연결 (300Mbit down and up)의 경우 모든 절전 시간을 0.5 초 (500 밀리 초)로 줄였으며 이제 VPN 연결이 매우 빠릅니다! 감사합니다!
informatik01

1
참고 : 암호에 %! (^ ~ + 문자가 포함되어 있으면 {와}를 넣어야합니다
jeroenk

4

나는이 라인을 따라 무언가를 사용합니다 :

set FILE=%TEMP%\tmp
echo connect your.host.name> %FILE%
(echo 0)>> %FILE%
echo yourUserName>> %FILE%
echo yourPassWord>> %FILE%
"C:\Program Files\Cisco\Cisco AnyConnect Secure Mobility Client\vpncli.exe" -s < %FILE%

( 업데이트 : 왜 괄호 주변 echo 0이 아닌 다른 선택을 할 때, 당신을 생각 나게 하는가? 0, 그 1>또는 2>특별한 의미를 가지고, 리디렉션 stdout또는 stderr각각 -하지만 메아리없는 1또는 2우리가 (과 안전 측면에 머물 그래서. echo 0)).

이것은 조금 더 간결합니다.

(echo connect your.host.name& echo 0& echo yourUserName& echo yourPassWord& echo.) > %FILE%
more %FILE% | "C:\Program Files\Cisco\Cisco AnyConnect Secure Mobility Client\vpncli.exe" -s

그러나 임시 파일없이 동일한 것을 달성하려면 이것이 효과가 없습니다. 관심이있는 이유는 다음과 같습니다.

(echo connect your.host.name& echo 0& echo yourUserName& echo yourPassWord) | "%ProgramFiles(x86)%\Cisco\Cisco AnyConnect Secure Mobility Client\vpncli.exe" -s

업데이트 : 이것은 https://stackoverflow.com/a/29747723/880783을 통해 작동합니다 .

(echo connect your.host.name^& echo 0^& echo yourUserName^&echo yourPassWord^&rem.) | "%ProgramFiles(x86)%\Cisco\Cisco AnyConnect Secure Mobility Client\vpncli.exe" -s

이러한 모든 변형은 물론 서버 구성 (특히 VPN 그룹 선택)에 따라 다릅니다. 입력해야 할 내용을 찾으려면 vpncli.exe매개 변수없이 한 번만 호출 connect your.host.name하고로 시작한 후 프롬프트가 표시되는 내용을 기록하십시오.

업데이트 : 이것은 서버, 사용자 이름 및 암호와 관련하여 완전한 자유를 제공한다는 추가적인 이점을 제공하며, 절전 모드 값에 의존하지 않습니다 (시스템이 다른 것으로 바빠지는 경우 항상 어렵습니다).


2
클라이언트 버전 3.1에서는 -s 스위치를 사용할 수 없습니다. 버전 4.1이 있습니까? 그 버전은 어딘가에 공개적으로 사용할 수 있습니까? Cisco 웹 사이트에서 다운로드 할 수있는 유효한 라이센스가 없습니다.
SzilardD

예, 버전 4 이상을 사용했습니다. 그러나 법적인 공개 출처는 알 수 없습니다 (아마 수출 제한으로 인해).
bers

3

나는이 "meh"답변으로 내 자신의 질문에 대답하고 있습니다. 그것은 내가 추구했던 것이 아니며, 원래 질문에 더 잘 대답 할 수있는 다른 답변을 기꺼이 받아들입니다.

자동 로그인으로 운이 없었기 때문에 다음으로 생각할 수있는 가장 좋은 방법은 엄청나게 긴 암호를 자동으로 클립 보드에 복사하는 것이 었습니다. Windows에서는 .bat본문에 다음과 같은 파일을 만들었습니다 .

echo|set /p=MyPassword|clip

"MyPassword"는 실제 비밀번호입니다.

두 번 클릭하면이 파일은 빠른 로그인을 위해 비밀번호를 클립 보드에 복사합니다. 아무것도없는 것보다는 낫다!


당신은 몇 가지 빛을 자동화 마술을 할 용의 경우, 사용 AutoIt이는 VPN을 응용 프로그램을 시작하고 암호 필드에 암호를 복사
마이크 페닝 턴에게

2
제발, echo|set /p=MyPassword|clip비교할 때 의 장점은 무엇 echo MyPassword|clip입니까?
BERS

3
@bers 당신이 echo your_pass| clip그것을 사용한다면 그것은 또한 your_pass 끝에 바꾸기 문자 를 넣거나 추가 할 것 입니다. 직접 시도하고 일부 편집기에 붙여 넣을 때 커서가 다음 줄에 있음을 알 수 있습니다 ( Notepad ++ 또는 SciTE 와 같은 새 줄 문자를 표시 할 수있는 편집기가있는 경우 사용하면 CRLF 가 표시 됩니다) your_pass 끝의 Windows ). 그러나 MikeZ의 현재 솔루션은 암호를 클립 보드에 복사하는 방법으로 완벽하게 작동합니다.
informatik01

1
@ informatik01 설명해 주셔서 감사합니다!
bers

1
(1) @ informatik01의 훌륭한 설명은 echo|명령 줄의 시작 부분에 대한 필요성을 완전히 다루지 않습니다 . 그 이유는 set /p표준 입력에서 값 (행)을 읽는 명령이기 때문입니다 . 하지 않고 echo|set /p=MyPassword|clip명령이 자동으로 앉아서 터미널에서 선을 읽을 것이다. (2) 나는 |앞뒤에 공백 이 없는 것을 싫어합니다 . 그러나 클립 보드에 (후행 공백으로) echo | set /p=MyPassword | clip쓸 수 있다는 점에 유의하십시오 MyPassword . 따옴표를 추가하여이를 방지 할 수 있습니다 echo | set /p="MyPassword" | clip..
Scott
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.