他のすべての場合にsshが機能するときに、リモートdrushコマンドがsshエラーで失敗する原因は何ですか?


10

3つのサーバー(dev、UAT、&production)のすべてに公開および秘密のssh鍵を持っているので、リモートまたは相互にログインできます。すべてがsshおよびscpコマンドに対して完全に機能しています。

ただし、Drushでは機能しませdrush @dev statusたとえば、UATから実行すると、サーバーのバナーが表示され、システムは「許可されたユーザーのみが使用できる」というメッセージが表示され、その後、

権限が拒否されました(公開キー、パスワード、キーボードインタラクティブ)。

私の~/.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キーの使用に問題があります。何が機能しないのでしょうか?


3
Drushを実行しているユーザーによって異なると思います。Drushがwww-data(たとえば)によって実行されている場合、SSHキーが間違っている/許可されていない/ホワイトリストに登録されていない可能性があります。
Chapabu

4
-vまたは-sオプションを指定してdrushコマンドを実行し、Drushが生成している正確なsshコマンドを確認します。Drushでのsshの呼び出しと同じcliテストの違いは何なのかは明らかです。
greg_1_anderson

@Chapabu:はい、sudo前に使用するdrush必要があり、すべてがrootとして実行されているようです(sysadminに警告したセキュリティホール)。これが問題のようです。私は現在、システム管理者を待つ間、解決策探しています...
iconoclast

回答:


19

次の行をdrushrc.phpファイルに追加します。

$options['ssh-options'] = '-o PasswordAuthentication=no -i /home/YOURUSERNAME/.ssh/id_rsa';

これにより、Drushがリモートシステムを呼び出すときはいつでも、Drushがこれらのオプションをsshに渡すようになるため、引き続きsudoを介してDrushを呼び出し、引き続きログインユーザー資格情報を使用できます。


あなたは素晴らしいです...
iconoclast

Windowsの例:$ options ['ssh-options'] = '-o PasswordAuthentication = no -i C:\ users \ laptop1 \ .ssh \ id_rsa';
Bryan Jiencke 2014年

正しく理解されていれば、「/ home / YOURUSERNAME / .ssh / id_rsa」ディレクトリは、drushコマンドが実行される場所にローカルです。"home / YOURUSERNAME" dirは$ HOME dirであり、id_rsaはssh-keygenを介して生成された秘密鍵です
latvian

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.