암호를 기억하기 위해 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 호스트 이름 또는 주소로 userpa$$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.