2012-01-16 17 views
1

私はPHP用のSSH2モジュールを調べましたが、非常に肥大しているサーバーでPHPを再コンパイルする必要があります。私たちが今取っているよりもはるかに危険です。cURLを使用してSSH経由でファイルを取得できますか?

SSHでいくつかのファイルを取得するためにcURLを使用することはできますか?私はいくつかのグーグルをしていくつかの情報源を見つけましたが、これが可能かどうかは100%明らかではありません。

答えて

2

私はcURLについてはっきりしていませんが、再コンパイルはしたくないが、サーバにすでにsshクライアントがインストールされている場合は、scpをシステムコールすることができます。もちろん、ローカルホストとリモートホストの間にSSHキーがある場合は、最適な方法です。

shell_exec("/usr/bin/scp -i private_key_identity [email protected]:/path/to/remote/file /local/path"); 
1

CURLは残念なことに動作しません。 @Michaelが提案したように、scpを使うか、定期的にファイルをコピーする必要がある場合は、rsyncはファイルの内容の違いだけを転送するように提案します。

exec('/usr/bin/rsync -az [email protected]:/path/to/directory/* /path/to/local/directory/'); 

-aは詳細についてはdocumentationを参照して、アーカイブモードを使用します。 -zフラグは転送を圧縮します。

rsyncSSH経由で転送されるため、正しく公開/公開鍵を設定してください。

関連する問題