ssh ได้รับอนุญาตถูกปฏิเสธเฉพาะในงาน cron
มีปัญหาแปลก ๆ ฉันได้สร้างสคริปต์ทุบตีเล็ก ๆ ซึ่งเรียกใช้คำสั่งบนโฮสต์ระยะไกลผ่าน ssh (โดยใช้การตรวจสอบกุญแจสาธารณะ) เมื่อฉันเรียกใช้สคริปต์นี้ด้วยตนเองจากบรรทัดคำสั่งมันทำงานได้ดี แต่เมื่ออยู่ใน /etc/cron.hourly มันล้มเหลวด้วยPermission denied, please try again.ข้อผิดพลาด ฉันอย่างชัดเจนตั้งสำคัญในสคริปต์ที่ใช้ssh -i /root/.ssh/id_rsa user@remote "command"; สคริปต์กำลังทำงานในฐานะรูท (ฉันได้เพิ่มการecho `id` > /tmp/whoami.logตรวจสอบอีกครั้ง); และ รหัส ssh ไม่ได้รับการป้องกันด้วยรหัสผ่าน ... ระบบคือเซิร์ฟเวอร์ Ubuntu 12.04 ฉันไม่สามารถเข้าถึงทางไกลเพื่อแก้ไขปัญหาได้ แต่อย่างที่ฉันบอกว่าใช้ ssh ด้วยตนเองหรือสคริปต์ทุบตีเดียวกันจากบรรทัดคำสั่งทำงาน มีความคิดว่าทำไมสิ่งนี้ถึงเกิดขึ้นหรือจะแก้ไขได้อย่างไร? ปรับปรุง ปรากฎว่าฉันเข้าใจผิดและรหัส ssh ได้รับการป้องกันด้วยรหัสผ่าน (ด้วยการโหลดพวงกุญแจ ssh-agent) ดังนั้นทำไมมันล้มเหลวจากสคริปต์ แต่ไม่เมื่อทำงานจากเซสชันทุบตี การเพิ่ม. ~/.keychain/$HOSTNAME-shสคริปต์ของฉันแก้ไขปัญหาได้ (ด้วย @grawity …