「一気に最後まで読んだ」本、教えて下さい!

OSはWindows7 ultimateというものです。このPCにssh(あるいはtelnet), scp(あるいはftp)のサーバ機能を付けたいと思っています。cygwinとかvmwareを使ってOSの内側にunix環境を設定すれば良さそうだということが分かってきました。

どうしても引っかかるところがあります。内側(餡こ)がLinuxでもOSとしてはWindowsが外側にある(饅頭の皮)ので、外からのアクセスに対してサービスをするには、Windowsの許可が必要ではないかと思うのです。簡単に設定できるのでしょうか。解説しているサイトをご紹介頂けると助かりますが。

また、上記の方法以外にWindowsのレベルでネット経由のコマンド入力を受け付けるような仕組みがないでしょうか(だいぶ以前のWindwosNT4.0ではありましたが)(本当はこっちが好都合なのです)。ファイル転送についてはフォルダ共有で済ますことができそうです。

Windowsのレベルでは危険の可能性が多くなると思いますが、職場のfirewall内部でのことなので大きな問題は生じないだろうと思っているのですが。

よろしくお願いします。

A 回答 (3件)

>やりたいことは実はちょっと変わってまして(普通はやらないだろうなあと


>思っているので)計算サーバなのです。リモートからintel系のフォートランとかCの
>プログラムをコンパイルして実行するというサービスの提供です(なのでコマンド入力
>できるようにするために端末入力ができるサービスtelnet,ssh)。
>計算プログラムはクライアントからサーバに転送する(だからファイルサーバも
>必要 ftp or フォルダ共有)わけです。

計算サーバーでプログラムをコンパイルして実行するのに、なぜクライアントから
サーバーに計算プログラムを転送する必要があるのでしょうか?

また、サーバーを立てる必要が無いように見えますが、クライアント側でコンパイル
出来ない理由があるのでしょうか?
(コンパイラがサーバーにしかインストールされていないとか、)
    • good
    • 0
この回答へのお礼

 ご指摘のように特にリモートからコンパイルする必要はないかもしれません(できたほうがいいかもしれませんが)。ただ、自分が作成したプログラムを転送(自分のPC⇒サーバ)してそれをコンパイルして実行しその結果を転送して(サーバ⇒自分のPC)結果を見てみるということはあるのかなと思います。これは普通のLinuxの計算サーバの使い方ですね。クライアントに自由を与えてサービスするということです。

 あるいはもう実行形式のプログラムができていて(コンパイルの必要がない)、あとはデータなどの計算条件を食べさせて実行して結果を見るという限定的な使い方もありますね。その場合でもデータの双方向の転送は必要ですね。

 計算サーバを立てる理由はそのマシンはメモリが多く、CPUの性能も高めなので計算に特化したものであると考えていることと、利用者がちょっと遠くにいるからです。サーバのコンパイラはインテルにする予定です。

お礼日時:2013/08/27 07:39

そうですね。

一言に鯖を立ち上げるといいましてもいろいろありますので。。。

質問者様はサーバーを立ち上げて何をなさりたいのですか??

この回答への補足

誤字です。「Windows7ではメモリ共有型の並列計算機の環境設定が用意でとりあえずやってみようと思っているのです。」
×用意→○容易

補足日時:2013/08/06 20:47
    • good
    • 0
この回答へのお礼

やりたいことは実はちょっと変わってまして(普通はやらないだろうなあと思っているので)計算サーバなのです。リモートからintel系のフォートランとかCのプログラムをコンパイルして実行するというサービスの提供です(なのでコマンド入力できるようにするために端末入力ができるサービスtelnet,ssh)。計算プログラムはクライアントからサーバに転送する(だからファイルサーバも必要 ftp or フォルダ共有)わけです。

方針を整理しますと、
1.vmware, cygwin系でやる(できそうですが、コンセプトが十分理解できない)
2.vncでやる(できますかね、できたら一番スマートかも)
3.windowsの本来の機能でやる(telnet, フォルダ共有。windows内部の機能(?)なのでこれが一番シンプル)
ということが考えられると思います。関連サイト等では”やれる”というニュアンスの答えはあります。

実際にやる方法を解説しているサイトがあまりないように思うのです(Windows7でサーバを立ち上げるという動機があまりないのではないかと思っているのですが)

Windows7ではメモリ共有型の並列計算機の環境設定が用意でとりあえずやってみようと思っているのです。

Windowsのいいところは、前提条件が一律で、あまり状況が人に寄らないということが挙げられます。Linuxはスキルや条件(バージョンやディストリビューションなど)がマチマチで紹介サイトが多くありますが、簡単に書いてあってもアレコレと躓きます(ご承知かと思いますが、ハマっていくと依存関係、ライブラリの取り寄せとかソースのコンパイル、コンパイラの更新...などなど)。もちろん、”だから垣根が低いWindowsは危険”という声が聞こえそうですが、今回はリモートからのアクセスと言っても職場のファイアーウォール内部なのです。上記の方針では3が良いのかなと思っているのですが。1も簡単らしいのですが。

お礼日時:2013/08/06 20:44

>このPCにssh(あるいはtelnet), scp(あるいはftp)のサーバ機能を付けたいと思っています。



で、やりたいことってなんなんです?

>Windowsの許可が必要ではないかと思うのです。簡単に設定できるのでしょうか。

ものによる…かと。
VMWareならネットワークタイプをブリッジにしておけば割と簡単です。
# LAN内のDHCPサーバからIPアドレス振りだして貰えるか?というのはありますが。

ネットワークタイプをNATにして、ホストOS側でルーティング(と言うかパケット転送)するように設定する。
という方法もありますが、仮想OS向けのパケットをホストOSに送って貰うようにルーティングの設定も必要なので…やめておいた方がいいでしょうね。
# FTPがうまく動くかも微妙ですし。

>上記の方法以外にWindowsのレベルでネット経由のコマンド入力を受け付けるような仕組みがないでしょうか(だいぶ以前のWindwosNT4.0ではありましたが)(本当はこっちが好都合なのです)。

telnetサービスですかね。
ウチのWindows7 Professionalでは一応有効にしてあります。
出先からLAN内のLinuxにsshで接続して、LinuxサーバからWindowsにtelnet接続、shutdownコマンドで電源を切る。というのをやったことがあります。
# 「Windows7 telnetサービス」辺りで検索すれば見つかるかと。
    • good
    • 0
この回答へのお礼

私の希望は、別のお礼の方に書き込んように計算サーバです。
これを実行するのは職場です。職場ではDHCPサーバが動いていますが、管理サーバ?に登録する必要があります。(プライベートIPではなく、グローバルで使えるIPをMACアドレスに対して静的に(いつも同じアドレス)割り当てる)ということです。

ご紹介頂いた方法ですが、VMwareのネットワークタイプというものを知らないので方向性が分かりません。また、Windows内部のLinuxに対して別のIPアドレスを割り当ててクライアントからのパケットを内部のLinuxに渡すというような処理なのでしょうか。ちょっと難しそうで私のスキルでは及びそうに思えませんが。とりあえずパケットを受信するのは、Windowsが管理しているNICなのだろうと思いますのでカラクリが明瞭に理解できません。ポートフォワーディングというのでしょうか?これは(というかこの辺りは)私のスキルを超えております。

Windows内部のcygwin, vmwareを用いる気持ちが薄らいできてWindows本体の機能(telnet,フォルダ共有)でできないかと考えています。telnetは”いかん”と多くの人達が言っているので良いのかなと思うのですが。
(以前使用されたのは緊急避難のように思えます)

お礼日時:2013/08/06 21:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!