ฉันกำลังพยายามสร้างสคริปต์ชุด Windows แบบง่ายที่จะจัดการการเชื่อมต่อกับลูกค้าของเรา ซึ่งรวมถึงอุโมงค์บางแห่งที่ใช้ plink.exe
และสายโซ่ถุงเท้า การกระโดดแต่ละครั้งต้องใช้การรับรองความถูกต้องของคีย์ ssh ซึ่งฉันใช้ pageant.exe
ฉันเขียนสคริปต์แต่ละชิ้นไว้ตามความจำเป็น ยกเว้นส่วนการประกวดที่ฉันประสบปัญหา ข้อเท็จจริงที่พบ:
หากฉันเริ่มเพียง pageant.exe
มันจะเริ่มต้นตัวแทนการประกวดโดยไม่ต้องโหลดคีย์ SSH ใด ๆ และสคริปต์จะดำเนินการต่อทันที จากนั้นฉันสามารถเรียกใช้ pageant.exe my_key.ppk
เพื่อเพิ่มคีย์ลงในการประกวด และข้อความรหัสผ่านจะได้รับแจ้ง แต่สคริปต์จะยังคงดำเนินต่อไปในขณะเดียวกันเช่นกัน ดังนั้นสคริปต์จะยังคงคลิกส่วนที่ล้มเหลว เนื่องจากผู้ใช้จะไม่ระบุข้อความรหัสผ่านจนกว่าจะถึงเวลานั้น
ฉันได้ดูเอกสารการประกวดและพบสวิตช์ CLI บางตัวเช่น -l
ที่ควรจะแสดงรายการคีย์ที่โหลด แต่ดูเหมือนว่าจะไม่ทำงานบนเวอร์ชัน Windows ดูเหมือนว่าเวอร์ชัน windows จะยอมรับเฉพาะข้อโต้แย้งในรูปแบบของไฟล์ .ppk เท่านั้น
โดยพื้นฐานแล้วฉันต้องการสร้างฟังก์ชัน "รอ" บางอย่างจนกว่าผู้ใช้จะระบุข้อความรหัสผ่าน มีวิธีใดบ้างที่จะแสดงรายการคีย์ที่โหลดโดยตรงจากการประกวดหรือวิธีการทั่วไปใด ๆ ที่ขอสภาพแวดล้อม Windows สำหรับคีย์ SSH