ฉันมีคีย์ ssh สาธารณะและส่วนตัวในเซิร์ฟเวอร์ทั้งสามของฉัน (dev, UAT และการผลิต) เพื่อให้ฉันสามารถเข้าสู่ระบบจากระยะไกลหรือจากที่หนึ่งไปยังอีก ทุกอย่างทำงานได้อย่างสมบูรณ์แบบสำหรับคำสั่ง ssh
และscp
อย่างไรก็ตามมันไม่ทำงานสำหรับ Drush ถ้าฉันดำเนินการdrush @dev status
จาก UAT ตัวอย่างเช่นฉันจะได้รับแบนเนอร์ของเซิร์ฟเวอร์โดยบอกว่าระบบคือ "ใช้โดยผู้ใช้ที่ได้รับอนุญาตเท่านั้นblah blah blah " และจากนั้นฉันก็จะได้รับ
ปฏิเสธการอนุญาต (publickey, รหัสผ่าน, แป้นพิมพ์แบบโต้ตอบ)
~/.drush/aliases.drushrc.php
ไฟล์ของฉันประกอบด้วย:
# Development #
$aliases['dev'] = array(
'uri' => 'http://default',
'root' => '/var/www/vhosts/dev.www.company.com/current/',
'remote-host' => 'companya0.company.com',
'remote-user' => 'myusername'
);
# UAT #
$aliases['uat'] = array(
'uri' => 'http://default',
'root' => '/var/www/vhosts/uat.www.company.com/current/',
'remote-host' => 'companyc6.company.com',
'remote-user' => 'myusername'
);
# Production #
$aliases['prod'] = array(
'uri' => 'http://default',
'root' => '/var/www/vhosts/www.company.com/current/',
'remote-host' => 'companyc1.company.com',
'remote-user' => 'myusername'
);
Drushเท่านั้นมีปัญหาในการใช้คีย์ ssh ของฉัน สิ่งใดที่สามารถป้องกันไม่ให้ทำงาน
sudo
ก่อนหน้านี้drush
และดูเหมือนว่าทุกอย่างจะทำงานเหมือนรูท ดูเหมือนว่าปัญหานี้จะเกิดขึ้น ฉันกำลังมองหาวิธีการแก้ปัญหาในขณะที่ฉันรอ sysadmin ...
www-data
(เช่น) แสดงว่าคีย์ SSH ของคุณอาจผิด / ไม่อนุญาต / ไม่ปลอดภัย