ขณะนี้ฉันกำลังใช้คำสั่งต่อไปนี้สำหรับการดำเนินการร้องขอการรับรองความถูกต้องเพื่อรับใบรับรองเซิร์ฟเวอร์ (FINGERPRINT) และOpenConnect
-Cookie:
openconnect --authenticate --user=<username> "VPN host"
ด้วยเหตุนี้ฉันต้องใส่รหัสผ่านของฉันในหน้าจอแจ้งเตือนผู้ใช้ในภายหลัง
มีตัวเลือกในการส่งผ่านรหัสผ่านไปยังOpenConnect
คำสั่งด้านบนแล้วหรือไม่?
ตัวอย่างเช่นโดยการขยายคำสั่งเช่น ...
openconnect --authenticate --user=<username> password=<password> "VPN host"
...
ความท้าทายคือ:
ผู้ใช้RuiFRibeiroมีความคิดที่จะสะท้อนรหัสผ่านภายในคำสั่ง น่าเสียดายที่นี่ไม่สามารถใช้งานได้ในกรณีของเราเนื่องจากเซิร์ฟเวอร์ให้พรอมต์ผู้ใช้อีกหนึ่งครั้งก่อนที่จะถึงพรอมต์ที่สอง (= พรอมต์รหัสผ่าน)
มันจะเกิดขึ้นเช่นนั้น:
ผู้ใช้คนแรกแจ้ง: เซิร์ฟเวอร์กำลังพูด
- " โปรดเลือกถ้าคุณต้องการอุโมงค์จราจรทั้งหมดหรือเพียงหนึ่งที่เฉพาะเจาะจง
- " พิมพ์
Tunnel all
หรือTunnel company
"
พรอมต์ผู้ใช้ที่สอง: เซิร์ฟเวอร์กำลังพูด
- " กรุณาใส่รหัสผ่านของคุณ "
อย่างที่คุณสามารถเห็นได้ง่ายๆecho
จะให้คำตอบที่ผิดกับคำถามที่ผิด :-)
สำหรับexpect
-script ที่เป็นไปได้คำขอเซิร์ฟเวอร์จริง (แน่นอน) ก่อนที่จะแทรกข้อความเป็นดังนี้:
GROUP: [tunnel MyCompany|tunnel all]:
คำตอบแรก: การแทรกคำตอบควรเป็นtunnel MyCompany
พรอมต์ที่สอง:
Password:
การแทรกคำตอบควรเป็น123456789
echo password | openconnect --authenticate --user=<username> "VPN host"
? ฉันควรพิมพ์รหัสผ่านจริงของฉันหรือปล่อยให้เป็น "รหัสผ่าน" หรือไม่?