こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Windows2000ServerにopenSSHをインストールしましたがSCPで接続出来ません。

ちょっと困っております。

windows2000ServerにwindowsXPのクライアントより
SCPにてファイルを送信しようと思っております。

windows2000ServerにOpenSSH for Windowsをインストールして、
設定も完了致しました。

クライアントにはWinSCPをインストール致しました。

接続する際に[セッション]→ホスト、ユーザ名、パスワードを設定し、ファイルプロトコルをSFTPにしてログインボタンを押すと、接続出来るのですが、ファイルプロトコルをSCPにすると接続出来ません。

もう少し具体的に説明しますと、小窓で以下のメッセージが表示されます。

サーバーを検索中・・・
サーバーに接続しています・・・
認証しています・・・
ユーザ名"xxxxx"を使用中
入力済みパスワードを認証中
認証されました
セッションを開始しています・・・

このまま止まってしまい、ダイアログにて"15秒以上反応がありません。待機中です。"と表示されます。

中止を押して詳細メッセージを見ると以下のように表示されています。

"開始時のメッセージ省略のエラー。選択したシェルはWinSCP互換ではないかもしれません(BASHをお勧めします)。"

これはサーバー側の設定が問題あるのでしょうか。

※現状は環境構築のテストをしているために、WinSCPにて確認しておりますが、本番の時はバッチファイルにて、SCPコマンドによりwindows2000Serverにデータが送られてくるようになります。

投稿日時 - 2008-01-23 15:34:41

QNo.3706315

すぐに回答ほしいです

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

接続してくるクライアント側の環境がUnixでSCPコマンドを使ってくるなら、恐らくWinSCPが接続できる環境を整えないと接続出来ない可能性が高いと思います。

 【参考:sshファイル転送2つの方法、scpとsftp】
  http://www.atmarkit.co.jp/fnetwork/rensai/tcp28/02.html

#理由は上記URLの「SCPの利用イメージ」

もしも接続先の相手に対して接続方法を指定(制限)する事が出来るなら、Unix環境を整えなくても良いかもしれませんが。
(その際にはWindowsXPよりputtyのpscp.exeを用いてコマンドラインよりSCPしろと言う)

投稿日時 - 2008-01-24 20:10:19

お礼

ありがとうございました。
今回クライアントをwindowsに特定する事により回避できました。

投稿日時 - 2008-02-26 13:32:51

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

サーバ側でUnix互換のshellが動いていないのでは?と思うのですが。
下記URLにあるように、WinSCP側は接続先サーバのshellを指定していませんか?

 【WinSCP】
  http://www.tab2.jp/%7ewinscp/requirements.html

デフォルト状態だと多分例にあるように、/bin/bash なのではないかと想像するのですが。
つまり、質問主殿が素のWindows2000ServerにopenSSH for Windows「しか」インストールしていない為、WinSCPがshellに繋ぎにいこうとしてもshellが居ないので

>"開始時のメッセージ省略のエラー。選択したシェルはWinSCP互換ではないかもしれません(BASHをお勧めします)。"

というメッセージが出ている気がします。
もしも既にUnix環境ソフトがインストール済みであるなら、WinSCP側のshellへのパスが間違っているとか。

参考までに書いておくと、フリーソフトのCygwinだとopenSShも含めてその辺の必要なものが一式含まれていたと思う。
MS謹製でなければいけないなら、MS SFU(Windows Service for Unix)とかあります。
(その他にもどういう選択肢があるかは下記URLを見てください)

 【 Windows上のUNIX環境はどれが使いやすい?】
  http://slashdot.jp/askslashdot/05/09/26/0353248.shtml?topic=110

投稿日時 - 2008-01-23 22:32:55

お礼

ご回答ありがとうございます。

貴殿のご指摘の通り、Windows2000ServerにはopenSSH for Windowsしかインストールしておりません。(sygwinはサイズが大きいため、インストールを見送りました。SSHのみしか利用しないので)

WinSCPのシェルはデフォルトを指定しております。

またご回答を元に確認致しましたが、SCPはサーバー環境のシェルを起動して実行するとの事です。
※参考URL
http://www.atmarkit.co.jp/fnetwork/rensai/tcp28/02.html

質問させて頂いた後に、WindowsXPより、puttyのpscp.exeを用いて、コマンドラインよりSCP出来るのを確認致しました。
つまりWinSCPのSCPからは接続出来ないですが、バッチファイルで接続するという最終目的は達成されました。

またUNIXのSCPのコマンド調べた所、特にシェルを指定しないようですが、UNIXからだとWindows2000Serverへ送信出来なかったりするのでしょうか。相手先のクライアント環境が分からない為少々不安になっております。
※手元にUNIXの環境が無い為確認する事が出来ません。

やはりUnixのシェルはインストールしておいた方が無難でしょうか。

投稿日時 - 2008-01-24 12:08:50

あなたにオススメの質問