암호를 기억하기 위해 Cisco VPN 연결을 어떻게 얻습니까?


16

문제

요세미티 머신의 네트워크 설정에 Cisco IPSEC VPN 연결이 있습니다. 모든 단일 연결에서 암호를 묻지 않고 잘 작동합니다. 저장된 비밀번호는 완전히 무시됩니다.

배경

네트워크 설정에서 암호를 입력하고 연결을 클릭하면 저장된 암호가 사라지고 암호를 묻는 대화 상자가 나타납니다. 비밀번호가 올바른지 확인했습니다 (문서에서 복사하여 붙여 넣기).

작동하지 않는 것

  • Snow Leopard 의 제안 된 해결책 은 암호를 저장하고 키 체인 액세스를 열고 시스템 키 체인에서 "Xauth"키를 찾은 다음 키에 대한 /usr/libexec/configd액세스 권한을 부여 하는 것입니다. 이것은 효과가 없었습니다.

  • 일반적인 권한 복구 / 디스크 검사 항목

이상한 것들

연결 버튼을 눌렀을 때 키 체인 액세스를 보면 대화 상자가 나타나면 저장된 비밀번호 가 키 체인에서 바로 사라집니다 .

전반적인 질문

모든 연결에서 암호를 다시 입력 할 필요가 없도록 암호를 올바르게 저장하려면 어떻게합니까?


흠. 또한 요세미티에서 특히 네트워크 대화 상자에서 이상한 인증 문제가 발생합니다. 관련된 버그가 있으면 놀라지 않을 것입니다.
— n1000

원격 VPN 정책에 의존하지 않습니까 (현재 비밀번호 저장 허용)?
— Matteo Guarnerio

그게 .. 명시 적으로 저장하면 왜 키 체인에서 곧바로 사라지는 지 설명 할 것입니다. 네트워크 관리자와 채팅해야합니다!
— Mikey TK

답변:


13

Cisco VPN 서버에 연결하기 위해 anyconnect를 사용하고 있다고 생각합니다. AnyConnect는 터미널에서도 사용할 수 있습니다. 이것은 macOS Sierra 및 AnyConnect 3.1.14018에서 작동합니다. 다음 명령으로 bash 스크립트를 작성하십시오.

/opt/cisco/anyconnect/bin/vpn connect your-vpn.server.here -s <.credentials

그리고 로그인 세부 정보를 .credentials 파일에 다음 세 줄로 입력하십시오.

0
your-username
your-password

파일에 대해 적절한 권한을 부여하는 것을 잊지 마십시오.


사용자는 "요세미티 머신의 네트워크 설정에 Cisco IPSEC VPN 연결이 있습니다"라고 말합니다. 이러한 단어 선택으로 인해 시스템 환경 설정 / 네트워크 / +에서 내장 VPN 솔루션을 사용하고 있다는 확신이 상당히 높아
— 졌습니다.

암호화 된 사용자 이름 및 / 또는 비밀번호로 어떻게 든 파일을 전달할 수 있습니까? 리눅스에서 passwords 파일처럼
— forgotstackxpassword

8

귀하의 질문을 읽음으로써 귀하가 모든 것을 올바르게하고 있다는 인상을 얻었으며 Cisco VPN Server에는 클라이언트 측에 암호를 저장할 수있는 옵션이 disallow있습니다.

나는 그러한 설정이 존재한다는 것을 확실히 알고 있습니다.


6
OS X 클라이언트 가이 설정을 허용 한다는 것은 여전히 ​​성가신 일입니다 disallow. 동료 검토 저널에서 문장을 복사하기 위해 DRM 지원없이 okular를 컴파일하는 것과 마찬가지로 이것은 기본적으로 사용자에게 친숙하지 않은 것으로 보입니다.
— Landak

2

이 글을 작성할 때 여기에 두 가지 대답이 모두 권리가 있지만 vpn명령 줄 이 존재 한다는 것은 우리 가이 사용자 적대적 디자인을 해결할 수 있음을 의미합니다 expect. 비밀번호 저장 기능을 해제하는 서버 측 옵션의 존재를 밝힌 이전 답변자, GhostLyrics와 vpn명령 행 클라이언트를 표시 한 Hans에게 감사드립니다 .

다음과 같은 파일을 작성하십시오.

#!/usr/bin/expect --
set timeout 10
set addr ""  # VPN Host
set user ""  # Username
set pass ""  # Password (ensure that special characters are escaped)
set group "" # Group NUMBER shown in connect prompt


spawn /opt/cisco/anyconnect/bin/vpn connect $addr
expect "\r\nGroup:*"
send -- "$group\r"
expect "\r\nUsername:*"
send -- "$user\r"
expect "Password: "
send -- "$pass\r"
expect eof

set정상적으로 필드를 작성하십시오 . VPN이 내 것과 같으면를 실행할 때 "그룹"목록이 제공됩니다 vpn connect. 이것을 손으로 한 번 실행하고 연결하려는 그룹에 해당하는 번호를 확인하십시오. 관리자가 그룹을 추가 / 제거하지 않으면 실행간에 변경되지 않습니다. 여기서 이름을 사용할 수 없습니다. 프로그램은 숫자를 기대합니다.

모든 것이 채워지면 chmod +x이 스크립트를 실행하십시오. 이제 핸즈프리로 VPN에 연결할 수 있습니다!


0

오프 자유 분방 한 한스 ' 대답하는 것은 고마워요! - 내가 터미널을 우회하고, 맥 OS 상태 메뉴의 애니 커넥트 아이콘으로 끝나는 호출을 조금 간소화하고 싶었다. (저는 모하비 10.14.6입니다.)

먼저 터미널을 시작한 다음 AnyConnect 애플리케이션 바이너리의 디렉토리로 변경하십시오.

$ cd "/Applications/Cisco/Cisco AnyConnect Secure Mobility Client.app/Contents/MacOS"

원래 바이너리를 복사하십시오.

$ sudo cp \
"Cisco AnyConnect Secure Mobility Client" \
"Cisco AnyConnect Secure Mobility Client.orig"

마지막으로, 변화, 쉘 스크립트로 초기 파일을 덮어 쓰기 VPN host하여 VPN 호스트 이름 또는 주소로 user및 pa$$w0rd자격 증명에 :

$ sudo cat > "Cisco AnyConnect Secure Mobility Client" <<'SCRIPT'
#!/bin/sh

# The AnyConnect vpn utility takes some options and commands or
# else runs interactively. The help command shows that -s reads
# a script from STDIN and that connect takes a host as argument.
# connect gets the username and password from STDIN. We will 
# supply them from a heredoc with the -s option.

/opt/cisco/anyconnect/bin/vpn -s \
connect "VPN host" <<'CREDENTIALS'
user
pa$$w0rd
CREDENTIALS

exec "$0.orig"  # invoke the original app
SCRIPT

이제 평소와 같이 Spotlight 또는 Finder에서 AnyConnect를 실행할 수 있습니다. 먼저 스크립트가 연결되고 앱 바이너리로 실행이 전달되므로 AnyConnect가 데스크탑 상태 메뉴에 나타납니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.