Memeriksa lingkungan SSH_AUTH_SOCKbagus untuk koneksi ssh langsung.
Jika Anda menggunakan proxy ( proxy_command) Anda mungkin memiliki konksi yang terlihat seperti:
local-> hostA-> hostB-> hostC->hostD
Jika penerusan agen aktif pada semua host tersebut, maka SSH_AUTH_SOCKakan ditetapkan dan "berisi" kunci ssh Anda dari localpada semua host.
Sekarang anggap penerusan agen dinonaktifkan hostBtetapi diaktifkan hostC. SSH_AUTH_SOCKakan diaktifkan hostDtetapi sebenarnya akan "kosong". Tentu saja agen diteruskan tetapi hanya dari hostCke hostD. Rantai itu putus.
Sekarang untuk memeriksa apakah sebenarnya kunci tersedia pada hostDAnda cukup menelepon ssh-add. Akan keluar dengan kode 1 dalam hal apa pun, tetapi jika kunci tidak tersedia itu akan menunjukkan ini pada stderr:
Tidak dapat membuka koneksi ke agen otentikasi Anda.
Jadi Anda dapat memeriksa SSH_AUTH_SOCKplus pastikan ssh_addtidak memiliki output.
ssh-find-agentskrip untuk menemukan dan menggunakan ssh-agent yang ada, sangat berguna! Repo memiliki beberapa contoh dalam README. Anda mungkin dapat mendeteksi jika ssh-agent diaktifkan seperti itu, bersama dengan memeriksa file konfigurasi SSH, daripada melihat output SSH.