Komut satırından anyconnect kullanarak bağlan


31

Bir sunucuya bağlanmak için Linux komut satırından Cisco anyconnect 3.1 kullanmaya çalışıyorum. Bağlanabilirim, ancak bir kerede bir parametre göndermem gerekiyor. Başka bir sunucuda çalışacak bir betikten bağlanmak istiyorum. Bunu yapabilir miyim? Gibi bir şey

vpn connect server_add group_name user_name passwd

Lütfen kullanmak istediğiniz komutu bize gösterin. Sınırlayıcıları kullanmayı denediniz mi?
Tog

Komut / opt / cisco / anyconnect / bin / vpn connect oldu Tek istediğim bütün bunları bir satırda geçirmek. Ancak bu konuda herhangi bir belge bulamıyorum. Sadece grafik arayüz istemcisi kullanıyorsanız.
Kelly Goedert

Yanıtlar:


31

/opt/cisco/anyconnect/bin/vpnagentdOtomatik olarak olması gerektiği gibi çalıştığını varsayarak :

To bağlamak :

printf 'USERNAME\nPASSWORD\ny' | /opt/cisco/anyconnect/bin/vpn -s connect HOST

Değiştir USERNAME, PASSWORDve HOST. \nyBu benim ana bilgisayara özeldir - sonunda giriş afiş kabul etmektir.

'Çift tırnak yerine tek tırnaklara dikkat edin - bunun "nedeni çift tırnakların Bash'e ünlem işaretleri gibi bazı karakterleri Bash geçmişi komutları gibi yorumlamasını söylemesidir. Çift tırnak işareti, parola bir ünlem işareti içeriyorsa, bu komutu "olay bulunamadı" hatasıyla başarısız yapar. Tek tırnaklı dizeler, yorumlamadan ünlem işaretlerini geçer.

To kesmek :

/opt/cisco/anyconnect/bin/vpn disconnect

Bu, AnyConnect v3.1.05160 ile test edildi.


5
Durumda müşteriniz nedeniyle sertifika doğrulama hatası bağlanmazsa Certificate is from an untrusted source, ve hala daha sonra bağlanmak bir geçirmek istediğiniz ybağlantı için komut olur böylece yukarıdaki yöntemde parametreyi: printf "y\nUSERNAME\nPASSWORD\ny" | /opt/cisco/anyconnect/bin/vpn -s connect HOST. Bunu yalnızca bağlantınıza kesinlikle güveniyorsanız yapın; Aksi halde, içinde oturan ve üzerine gizlice giren bir aracı olabilir.
shivams

1
Güzel çalışıyor ( GROUPNAME\nUSERNAME\nPASSWORDycat ~/.anyconnect_credentials | /opt/cisco/anyconnect/bin/vpn -s connect HOST
sürümümün olmasına rağmen............)......... .Sürümce, sürümümün

@SridharSarnobat Kimlik bilgileri için ayrı bir dosya kullanılması işe yarıyor, ancak günlüğündeki parolanızı yazdırıyor:>> notice: Please respond to banner. MYPASSWORD
Willian Vieira

4

Aynı zorlukla karşılaştım, Mac OS X Terminalinden Cisco AnyConnect kullanmaya çalışın. Cisco vpn komutunun girişini standart girişten alması için Cisco vpn komutunu etkileşimli moda sokan -s seçeneğini belirtmeniz gerekir. Ardından interaktif modda verdiğiniz cevapları sağlayabilirsiniz.

Vermeniz gereken yanıtlar, VPN sunucusu yöneticisinin sunucuyu nasıl yapılandırdığına bağlıdır. Benim için vpn etkileşimli bilgi istemleri

Group: 
Username: 
Password: 

Blah, blah, blah, ...
accept? :

Yani benim çalıştırdığım komut

$ /opt/cisco/anyconnect/bin/vpn -s connect vpn.example.com <<"EOF"
0
username
password
y
exit
EOF

( EOF etrafındaki alıntılar , aşağıdaki girişte komut / parametre genişlemesini / değiştirilmesini önlemektir.)

Çıkış ucunda Cisco'nun vpn interaktif modundan çıkmak etmektir.


2

Komut satırını basitleştirmeyi seviyorum, bu yüzden yukarıdaki yaklaşımı gotowork adlı bir kabuk betiğinde kullanıyorum. Yukarıdaki gibi gruba, kullanıcı adıma ve özel bir PIN artı bir RSA SecurID şifresinden oluşan bir şifre vermem gerekiyor. Yukarıdaki "kabul et" cevabını vermek zorunda değilim soru. RSA şifresi dışındaki her şey komut dosyasında, yani komut satırı

$ gotowork <RSA passcode>

Kök olarak çalıştırmak zorundayım. PIN kodunun 1234 olduğunu varsayalım. Komut dosyası esasları:

# put the interactive answers into a text file
echo -e "0\nusername\n1234$1\n" > /tmp/answers.txt
# find the path to the anyconnect executables
ciscopath="$(dirname $(find /opt/cisco -depth -name vpnagentd))"
# make sure the anyconnect daemon is running
[ $(pidof vpnagentd) ] || $ciscopath/vpnagentd
# connect
$ciscopath/vpn -s < /tmp/answers.txt connect remote.mycompany.com

Herhangi bir bağlantıyı kullanma 3.1.05170. Debian 6, LinuxMint 17'de test edildi


Neden 0\ngerekli Yoksa şirketinize özgü mü?
Acumenus

@ABB Sadece çıkışını sıfır söyleyerek Yani 0sonrasında bir yeni satır, \nbir satır ardından kullanıcı adı ve ardından \nvb ...
Matt Friedman

@ MattFriedman, ne dediğini biliyorum, ama neden gerekli olduğunu bilmiyorum.
Acumenus

1
@ ABB Etkileşimli olarak çalışırken ve bağlantınız gruplar kullanıyorsa, olası gruplar numaralandırılır. 0o zaman "ilk grubu kullan" anlamına gelir.
jmd_dk

2

OSX El Capitan'da benim için çalıştı. Yer tutucuları [köşeli parantez] ile çevrilidir.

Etkinleştirmek

/opt/cisco/anyconnect/bin/vpn -s connect [HOST_ADDRESS] <<"EOF"
[VPN_USERNAME]
[VPN_PASSWORD] 
y
EOF

Devre Dışı Bırakmak

/opt/cisco/anyconnect/bin/vpn disconnect

* Bunun Peter S.'in yukarıdaki cevabına benzer olduğunu biliyorum.


1
Bu benim için El Capitan için bir emriyle çalıştıprintf "y\n[GROUP]\n\n[PASSWORD]\ny\n" | /opt/cisco/anyconnect/bin/vpn -s connect HOST
Rabea
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.