このサーバー上においたphpプログラムであるサーバーにVPNアクセスしてhtmlファイルをサーバー上にダウンロードしたいのですがそんなことは可能なのでしょうか?
詳しくわかる方がいましたら、よろしくお願いします
VPNサーバにある目的のhtmlファイルが、VPNサーバ内のapacheやnginxを経由して表示することができる……つまり任意のURIを入力することでそのHTMLファイルが表示されるのであれば、htmlファイルに相当するURIに対してfile_get_contentsを実行することで取得可能です。
<?php file_get_contents(); ?>
逆にこの手の設定がされていない場合は、あるVPNサーバの任意のファイルを別のサーバへ取得することに等しいです。
これはPHPでssh認証を行った後でファイルをレンタルサーバへ取得するに等しいですが、この場合はssh2関数を使用します。
http://php.net/manual/ja/book.ssh2.php
ssh2関数でログインしたのちに以下のようなスクリプトを使用して転送を行います。
<?php if (ssh2_scp_send($connection, '/home/httpd/test.html', '/home/shimooka/test.html', 0644)) { echo '転送成功'; } else { echo '転送失敗'; } ?>
ただssh接続を行う場合は、レンタルサーバのphpがlibssh2を導入している必要があります。
さくらのレンタルサーバはPECL::ssh2モジュールをインストールすることが可能なので、これを導入したのちにssh2関数を使用して接続することになります。
http://blog.webmo.co.jp/2012/05/11/1/
NO.1 の回答では肝心なことについて、何も書かれてませんね。
「あるサーバに」というのは、さくらのサーバではないものを指しているのだと思いますが、さくらのレンタルサーバから、さくらの管理下に無いサーバに VPN 接続ができるかどうか、ということが肝心です。
詳しくは SAKURA Internet に問い合わせてみた方が良いと思いますが、レンタルサーバでは無理だと思います。
その代わり、さくらの専用サーバを借りれば、拠点間VPN のサービスをやっているようです。
http://www.sakura.ad.jp/press/2011/0208_vpc.html
こういう接続イメージですよね?
専用サーバであれば、VPN の設定も自由にできますし、OS の選択もできます。
NO.1 の回答にあるように HTTP で接続しても良いですが、Windows のファイル共有 (とか、Samba) や NFS も使えるでしょうから、ダウンロードする側から見たらローカルのファイルにアクセスしているのと、なんら変わりがありません。
VPN で暗号化できるわけですから、さらに SSH を被せる必要性は薄いと思いますね。
因みに ssh 接続のコードは↓のブログのコピペでしょう。まさか、サブアカだったりしてwww。
http://www.doyouphp.jp/tips/tips_ssh2.shtml
さくらのサーバにダウンロードしたい、と聞いているのに ssh2_scp_send はありえません。
リモートからファイルを取ってくるなら、使うのは ssh2_scp_recv です。
関数名さえ分かっていれば、ググればサンプルコードはいくらでも手に入りますが、例えばこんなような具合です。
http://phpspot.net/php/man/php/function.ssh2-scp-recv.html
繰り返しますが、さくらに問い合わせた方が早いですよ。
キーワードは「拠点間 VPN 接続」です。
接続先の「あるサーバ」の OS や接続している回線(インターネットなのか、専用線なのか)、希望している回線速度などの情報を準備して、「××というところのサーバと、拠点間 VPN 接続をしたいのですが...」というふうに問い合わせれば、きちんとした回答をしてもらえると思います。
http://support.sakura.ad.jp/manual/rs/tech_cgi.html
ここを見てみるのはどうでしょうか。
あとはもう少し専門的なところで聞いてみるのもいいと思います。
御回答有り難うございます
2013/05/29 01:57:00>さくらのレンタルサーバから、さくらの管理下に無いサーバに VPN 接続ができるかどうか
その通りです
早速問い合わせしてみたいと思います
ありがとうごあいます