• ベストアンサー

scpコマンド windowsクライアント

サーバー vine3.1,192.168.0.2 クライアント windowsXP ,192.168.0.3 http://www.uhero.info/techinfo/CygwinSSH_setup/index.html に従って、 クライアントにsshサーバも入れました。 そして、 Cyswinで、cygrunsrv -E sshdでsshサーバーを起動したときに Puttyから # scp root@192.168.0.2:192.168.0.3:c:\\\\\\test.txt /root/script とすると root@192.168.0.2's password: scp: 192.168.0.3:c:\test.txt: No such file or directory となり、 Cyswinで、cygrunsrv -S sshdでsshサーバーを停止したときも同じ結果となり、scpは使えない状態のままです。 どうしたらscpを使えるようになるでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.5

Cygwinにはbashも含まれていて、特にパッケージを選択しなければCygwinコンソールはbashで動作します。 また、cygdriveはディレクトリツリーのルートに入り、その中のドライブレターは全て小文字になります。 CygwinはWindows環境で動きますが大文字小文字も区別します。 #同名ファイルはさすがに存在できませんが 従って、 > #scp sari@192.168.0.3:C\\test.txt root@192.168.0.2:/root/script/ > #scp root@192.168.0.3:cygdrive/C/test.txt root@192.168.0.2:/root/script/ > #scp root@192.168.0.3:C\\test.txt root@192.168.0.2:/root/script/ > #scp cygdrive/C/test.txt root@192.168.0.2:/root/script/ > #scp C/test.txt root@192.168.0.2:/root/script/ > #scp C\\\\\\test.txt root@192.168.0.2:/root/script/ > #scp C\\test.txt root@192.168.0.2:/root/script/ 全て誤りです。 Cygwinコンソールからなら scp /cygdrive/c/test.txt root@192.168.0.2:/root/script が妥当な線でしょう。 あくまでLinux側からに拘るなら scp sari@192.168.0.3:/cygdrive/c/test.txt /root/script になりますか。 というかtabでの補完機能使いませんか? ファイル存在確認とかパスチェックとかかなり楽になりますけど。

SariGEnNu
質問者

お礼

ありがとうございます。 >Cygwinコンソールからなら >scp /cygdrive/c/test.txt root@192.168.0.2:/root/script これで行うと成功しました。 大変感謝しております。m(_ _)m >あくまでLinux側からに拘るなら >scp sari@192.168.0.3:/cygdrive/c/test.txt /root/script こちらは残念ですがうまくいきません。 何も返ってこなくなります。 原因はよく分かっていませんが、sariがあくまでWindowsクライアント側のユーザでしかないことが原因なのでしょうか? Cygwinが使えるのであれば、PuttyでなくCygwin1本で進めようとも思いますが Linuxサーバ側にいないと命令を出せない場合、 (例えば、vi /etc/sshd_config , init/rc.d/sshd restart など)についてはPuttyも併用しなければならないでしょうか? それとCygwinはWindows側のコンピューターに入っており、 Windows側を見ているということがわかりました。 そこで、CygwinにおけるbashをDOSの代わりに使いたいと考えも出てきていますが CygwinをDOSプロンプトの代用として使うことは可能でしょうか?

その他の回答 (5)

  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.6

Linux側の制御は、基本的にはもちろんログインしなければできません。 特に設定ファイルの編集のような処理はログインしなければ行うことはできません。 コマンドを送るだけならsshで直接ということも可能ではありますが、設定ファイルを編集してサーバを再起動という流れの場合は編集時点でログインしているはずなのであまり意味がないですね。 DOSプロンプトの代わりとしてCygwinシェルを使うことは、もちろん可能です。

SariGEnNu
質問者

お礼

ありがとうございます。 cygwinの可能性に向けてこれからも一生懸命がんばります。

  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.4

・Linuxにsshサーバを立てた ・WindowsにCygwinを入れた のなら、わざわざPuttyを使うまでもなくCygwinのコンソールからscpで転送すればいいですね。Cygwin-sshサーバも不要。 なんでわざわざ「転送先にログインしてそっちから引っ張る」なんて面倒な事をしたいのかが不明です。 なおCygwin上でファイルがどこにあるか、は#1の通りです。

SariGEnNu
質問者

お礼

ありがとうございます。 >わざわざPuttyを使うまでもなくCygwinのコンソールからscpで転送すればいいですね。 Cygwinのコンソールから他のbashコマンドも実行できるでしょうか?

SariGEnNu
質問者

補足

ありがとうございます。 以下の全てを試してみましたが、下の#で記した結果になってしまいました。尚、下については、Puttyから実行していますが、Cygwinコンソールから実行すべきでしょうか? #scp sari@192.168.0.3:C\\test.txt root@192.168.0.2:/root/script/ #止まってしまう scp root@192.168.0.3:cygdrive/C/test.txt root@192.168.0.2:/root/script/ #止まってしまう #scp root@192.168.0.3:C\\test.txt root@192.168.0.2:/root/script/ #止まってしまう #scp cygdrive/C/test.txt root@192.168.0.2:/root/script/ #cygdrive/C/test.txt: No such file or directory #scp C/test.txt root@192.168.0.2:/root/script/ #C/test.txt: No such file or directory #scp C\\\\\\test.txt root@192.168.0.2:/root/script/ #C\\\test.txt: No such file or directory #scp C\\test.txt root@192.168.0.2:/root/script/ #C\test.txt: No such file or directory

  • 774danger
  • ベストアンサー率53% (1010/1877)
回答No.3

http://oshiete1.goo.ne.jp/qa5036370.html 大体クライアントとサーバの意味すらわかっていないのにLinux側からscpしようなんていうこと自体ハードルが高過ぎ おとなしくWinSCPのGUI使ってWin→Linuxへputすればいいだけなのに

SariGEnNu
質問者

お礼

ありがとうございます。 自動化を求めているので、scpにこだわっています。 また、他のbash命令も組み合わせたいので、DOSプロンプトやCygwinコンソールではなく、できればBashシェルで使いです。 ですが、なかなかうまくいかないので、WinSCPを併用して進めていくことも必要だと考えています。

  • kachansa
  • ベストアンサー率44% (30/67)
回答No.2

求めることが自動処理なら希望に沿いませんが、単にSCPをWindows上でということなら、WinSCPというソフトを使うというのもありでは。

SariGEnNu
質問者

お礼

ありがとうございます。 自動化を求めているので、scpにこだわっています。 ですが、なかなかうまくいかないので、WinSCPを併用して進めていくこともやむをえないと考えています。

回答No.1

cygwinは /cygdrive/c とか /cygdrive/d とかになってたと思うんだけど。cygwinの / からここにいって、階層たどってみては。どう?

SariGEnNu
質問者

お礼

ありがとうございます。 以下の全てを試してみましたが、下の#で記した結果になってしまいました。尚、下については、Puttyから実行していますが、Cygwinコンソールから実行すべきでしょうか? #scp sari@192.168.0.3:C\\test.txt root@192.168.0.2:/root/script/ #止まってしまう scp root@192.168.0.3:cygdrive/C/test.txt root@192.168.0.2:/root/script/ #止まってしまう #scp root@192.168.0.3:C\\test.txt root@192.168.0.2:/root/script/ #止まってしまう #scp cygdrive/C/test.txt root@192.168.0.2:/root/script/ #cygdrive/C/test.txt: No such file or directory #scp C/test.txt root@192.168.0.2:/root/script/ #C/test.txt: No such file or directory #scp C\\\\\\test.txt root@192.168.0.2:/root/script/ #C\\\test.txt: No such file or directory #scp C\\test.txt root@192.168.0.2:/root/script/ #C\test.txt: No such file or directory