เปรียบเทียบเส้นทาง SSH ของ Jenkins ภายใต้บัญชีของ build agent
ตรวจสอบผู้ใช้ การกำหนดค่า SSH ที่มีผลจริง และเส้นทางของตัวช่วยบน agent ที่รันขั้นตอนนี้ แทนการพึ่งพาการรัน root แบบโต้ตอบ
รันคำสั่งเหล่านี้ในบัญชี agent และบริบท build เดียวกับขั้นตอน SSH ที่ล้มเหลว:
id -un
ssh -G deploy-targetแทนที่ deploy-target ด้วยชื่อ SSH ที่แน่นอนซึ่ง build ใช้ เปรียบเทียบ hostname, port และ proxycommand ที่ได้กับการเปิดแบบโต้ตอบที่ทำงานได้
| ความแตกต่างที่ต้องตรวจ | ผลกระทบ |
|---|---|
| ผู้ใช้ OS และ home | เลือกไฟล์ SSH และสิทธิ์ของผู้ใช้ |
| ชื่อปลายทาง | เลือกส่วน Host และการตั้งค่าที่รวมอยู่ |
| ไฟล์/เส้นทาง ProxyCommand | กำหนดว่า ตัวช่วยสามารถเริ่มทำงานในสภาพแวดล้อมนั้นได้หรือไม่ |
| ตัวเลือกบรรทัดคำสั่ง SSH | สามารถเลือกไฟล์กำหนดค่าอื่นหรือเขียนทับค่าได้ |
การวินิจฉัย SSH แบบละเอียดสามารถแสดงว่าไฟล์ใดถูกอ่าน หากความแตกต่างยังไม่ชัดเจน JENKINS_HOME เป็นที่เก็บข้อมูลของ Jenkins ไม่ใช่โฮมไดเรกทอรีสากลสำหรับผู้ใช้ agent ระยะไกล จัดเตรียมการกำหนดค่า SSH การพิสูจน์ตัวตน และข้อมูลคีย์โฮสต์ที่ต้องการบนเครื่องและบัญชีที่รันคำสั่งจริง
ใน Ncat --proxy พอร์ตพร็อกซีเป็นปลายทางขาออก ไม่ใช่ตัวรับฟังภายในที่ตัวช่วยผูก ความสำเร็จในฐานะ root เพียงอย่างเดียวไม่ได้บ่งชี้ปัญหาพอร์ตฟังแบบพิเศษด้วยตัวเอง