このガイドを使用してOpenSSHをインストールしましたWinSCPのWebサイト。
msi
githubページに記載されているインストーラーを使用しましたhttps://github.com/PowerShell/Win32-OpenSSH/リリース。
サーバーは実行されているようですが、ログインしようとすると次のメッセージが表示されます:
---------------------------
Error
---------------------------
Connection has been unexpectedly closed. Server sent command exit status 1.
---------------------------
Cannot initialize SFTP protocol. Is the host running an SFTP server?
---------------------------
OK Reconnect Help
---------------------------
サーバー マシンでは、sshd が実行され、ポート 22 でリッスンしているようです (TCPview からコピー)。
プロセス | ピッド | プロトコル | 州 | ローカルアドレス | ローカルポート | リモートアドレス | リモートポート | 時間を作る | モジュール名 |
---|---|---|---|---|---|---|---|---|---|
sshd.exe | 5844 | TCP | 聞く | 0.0.0.0 | 22 | 0.0.0.0 | 0 | 2022年8月19日午後6時49分33秒 | sshd |
sshd.exe | 5844 | TCPv6 | 聞く | :: | 22 | :: | 0 | 2022年8月19日午後6時49分33秒 | sshd |
デフォルトは変更していませんsshd_config
アップデート:
putty と同じユーザー名とパスワードを使用すると、ディレクトリを参照できます。
Putty と WinScp の比較は次のとおりです。
(赤とオレンジはそれぞれユーザー名とマシン名です)
FW ルールは次のように定義されます:
答え1
問題は、sftp-server.exe
が になかったことですPATH
。インストール パスを追加しC:\Program Files\OpenSSH
、 でサービスを再起動すると、Restart-Service sshd
問題は解決しました。
設定で診断しました
SyslogFacility LOCAL0
LogLevel DEBUG3
でC:\ProgramData\ssh\sshd_config
そしてそれが見つからないと文句を言っていることに気づいた
subsystem: cannot stat sftp-server.exe: No such file or directory
答え2
この問題を解決するには、Windows で SSH サーバー構成 (通常は にありますC:\ProgramData\ssh\sshd_config
) を開きます。
まず、sftp-server.exe
行 を に置き換えます<absolute-path-to>/sftp-server.exe
。
私の側では設定PATH
が役に立たないようです。
次に、if exists で始まる行をコメント化または削除しますForceCommand
。
これは、SFTP クライアントからの不明なエラーのほとんどを解決するのに役立ちます。ただし、SSH クライアントが CMD をデフォルトのシェルとして使用するという副作用があります。
PowerShell をデフォルトのシェルとして使用するには、SSH クライアント設定 (通常は にあります~/.ssh/config
) を編集します。
Host <host>
...
RemoteCommand powershell