การตรวจสอบสภาพแวดล้อมSSH_AUTH_SOCKนั้นดีสำหรับการเชื่อมต่อ ssh โดยตรง
หากคุณใช้พร็อกซี ( proxy_command) คุณอาจมีการเชื่อมโยงที่มีลักษณะดังนี้:
local-> hostA-> hostB-> hostC->hostD
หากการส่งต่อเอเจนต์ใช้งานได้บนโฮสต์เหล่านั้นทั้งหมดSSH_AUTH_SOCKจะถูกตั้งค่าและ "ประกอบด้วย" คีย์ ssh ของคุณจากlocalบนโฮสต์ทั้งหมด
ตอนนี้ส่งต่อตัวแทนสมมติว่ามีการปิดใช้งานบนแต่เปิดใช้งานบนhostB จะถูกตั้งค่าบนแต่จริง ๆ แล้วจะเป็น "ว่าง" แน่นอนตัวแทนจะถูกส่งต่อ แต่จากการ โซ่ขาดhostCSSH_AUTH_SOCKhostDhostChostD
ตอนนี้เพื่อตรวจสอบว่าจริง ๆ แล้วมีคีย์พร้อมใช้งานที่hostDคุณสามารถโทรssh-addได้ มันจะออกด้วยรหัส 1 ในกรณีใด ๆ แต่ถ้าคีย์ไม่สามารถใช้งานได้มันจะแสดงสิ่งนี้ในstderr:
ไม่สามารถเปิดการเชื่อมต่อกับตัวแทนการตรวจสอบความถูกต้องของคุณ
ดังนั้นคุณสามารถตรวจสอบเครื่องหมายSSH_AUTH_SOCKบวกทำให้แน่ใจว่าssh_addไม่มีเอาต์พุต
ssh-find-agentสคริปต์สำหรับการค้นหาและใช้ตัวแทน SSH ที่มีอยู่สะดวกมาก! repo มีตัวอย่างบางส่วนใน README คุณอาจสามารถตรวจพบว่ามีการเปิดใช้งาน ssh-agent เช่นนั้นพร้อมกับการตรวจสอบไฟล์กำหนดค่า SSH แทนที่จะดูที่เอาต์พุต SSH