Làm thế nào để bạn có được kết nối VPN của Cisco để nhớ mật khẩu của nó?


16

Vấn đề

Tôi đã có kết nối VPN IPSEC của Cisco trong cài đặt mạng của mình trên máy Yosemite. Nó hoạt động tốt, ngoài việc nhắc nhập mật khẩu trên mỗi kết nối. Mật khẩu đã lưu bị bỏ qua hoàn toàn.

Lý lịch

Nếu tôi nhập mật khẩu trong cài đặt mạng và nhấp vào kết nối, mật khẩu đã lưu sẽ biến mất và hộp thoại nhắc nhập mật khẩu sẽ xuất hiện. Tôi đã xác minh rằng mật khẩu là chính xác (nó được sao chép từ một tài liệu).

Những thứ không hoạt động

  • Một giải pháp được đề xuất cho vấn đề này đối với Snow Leopard là lưu mật khẩu, mở Keychain Access, tìm khóa "Xauth" trong móc khóa hệ thống và cấp /usr/libexec/configdquyền truy cập vào khóa. Điều này không có tác dụng.

  • Quyền kiểm tra thông thường / công cụ kiểm tra đĩa

Những thứ kỳ lạ

Nếu tôi xem truy cập móc khóa trong khi nhấn nút kết nối, mật khẩu đã lưu sẽ biến mất hoàn toàn khỏi móc khóa ngay khi hộp thoại xuất hiện.

Câu hỏi tổng thể

Làm cách nào để có được mật khẩu được lưu chính xác để tôi không phải nhập lại mật khẩu trên mọi kết nối?


hmm Tôi cũng nhận được các vấn đề xác thực kỳ lạ trên Yosemite, đặc biệt là trong cuộc đối thoại Mạng. Sẽ không ngạc nhiên nếu có một lỗi liên quan.
n1000

Bạn có chắc chắn điều đó không phụ thuộc vào chính sách VPN từ xa (hiện đang cho phép lưu mật khẩu)?
Matteo Guarnerio

Điều đó .. sẽ giải thích tại sao nó thẳng biến mất khỏi móc khóa nếu được lưu rõ ràng. Sẽ phải có một cuộc trò chuyện với các quản trị viên mạng!
Mikey TK

Câu trả lời:


13

Tôi đoán bạn đang sử dụng anyconnect để kết nối với máy chủ Cisco VPN. AnyConnect cũng có thể được sử dụng từ Terminal. Điều này hoạt động trên macOS Sierra và AnyConnect 3.1.14018. Tạo một tập lệnh bash bằng lệnh sau:

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

Và đặt chi tiết đăng nhập vào tệp .credentials với ba dòng sau:

0
your-username
your-password

Đừng quên đặt quyền hợp lý vào các tập tin.


Người dùng nói "Tôi đã có kết nối VPN Cisco IPSEC trong cài đặt mạng của mình trên máy Yosemite". Sự lựa chọn từ ngữ này khiến tôi kết luận với độ chắc chắn khá cao rằng họ đang sử dụng giải pháp VPN tích hợp bên trong Tùy chọn hệ thống / Mạng / +
GhostLyrics

bạn có thể chuyển tập tin đó bằng cách nào đó với tên người dùng & / hoặc mật khẩu được mã hóa không? giống như với tệp mật khẩu trên linux
quênstackxpassword

8

Từ việc đọc câu hỏi của bạn, tôi có ấn tượng rằng bạn đang làm mọi thứ chính xác và Máy chủ VPN của Cisco có tùy chọn cho phép lưu mật khẩu phía máy khách được đặt thành disallow.

Tôi biết chắc chắn rằng một thiết lập như vậy tồn tại.


6
Vẫn còn khó chịu khi máy khách OS X cho phépdisallow cài đặt này . Giống như biên dịch okular mà không cần hỗ trợ DRM để sao chép một câu từ một tạp chí được đánh giá ngang hàng, có vẻ như đây là một thiết lập không thân thiện với người dùng.
Landak

2

Cả hai câu trả lời ở đây khi tôi viết điều này đều có quyền của nó, nhưng sự tồn tại của vpndòng lệnh có nghĩa là chúng ta có thể đi xung quanh thiết kế thù địch người dùng này với expect. Cảm ơn những người trả lời trước, GhostLyrics đã tiết lộ sự tồn tại của tùy chọn phía máy chủ tắt lưu mật khẩu và Hans đã tiết lộ vpnứng dụng khách dòng lệnh.

Tạo một tệp trông như thế này:

#!/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

Điền vào các setlĩnh vực như bình thường. Nếu VPN của bạn giống như của tôi, bạn sẽ được cung cấp danh sách "nhóm" khi bạn chạy vpn connect. Chạy nó một lần bằng tay và lưu ý số nào tương ứng với nhóm bạn muốn kết nối. Nó sẽ không thay đổi giữa các lần chạy trừ khi quản trị viên thêm / xóa nhóm. Bạn không thể sử dụng tên ở đây, chương trình mong đợi một số.

Một khi mọi thứ được điền vào, chmod +xkịch bản này và chạy nó. Bây giờ tôi có thể kết nối với VPN của mình, rảnh tay!


0

Phóng túng tắt Hans ' câu trả lời -Cảm ơn - Tôi muốn đơn giản hóa gọi một chút, bỏ qua Terminal và kết thúc với biểu tượng AnyConnect trong tình trạng đơn MacOS. (Tôi đang dùng Mojave 10.14.6.)

Đầu tiên, khởi chạy Terminal, sau đó thay đổi thư mục nhị phân của ứng dụng AnyConnect:

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

Tạo một bản sao của nhị phân gốc:

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

Cuối cùng, ghi đè tệp ban đầu bằng tập lệnh shell, thay đổi VPN hosttên máy chủ hoặc địa chỉ VPN userpa$$w0rdthông tin đăng nhập của bạn:

$ 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

Bây giờ, bạn sẽ có thể chạy AnyConnect từ Spotlight hoặc Finder như bình thường. Đầu tiên, tập lệnh của chúng tôi sẽ kết nối và sau đó thực hiện chuyển giao cho nhị phân ứng dụng để AnyConnect sẽ xuất hiện trên Menu Status của máy tính để bàn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.