업데이트:

업데이트:

이 가이드를 사용하여 OpenSSH를 설치했습니다.WinSCP의웹사이트.

msiGithub 페이지에 나열된 설치 프로그램을 사용했습니다.https://github.com/PowerShell/Win32-OpenSSH/releases.

서버가 실행 중인 것 같지만 로그인을 시도하면 다음과 같은 메시지가 나타납니다.

---------------------------
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에서 복사됨).

프로세스 PID 규약 상태 현지 주소 로컬 포트 원격 주소 원격 포트 시간 만들기 모듈 이름
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와 WinScp는 다음과 같습니다.

putty_vs_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.exeline 으로 바꿉니다 <absolute-path-to>/sftp-server.exe.

PATH제 입장에서는 설정이 쓸모가 없는 것 같습니다 .


둘째, ForceCommand존재하는 경우로 시작하는 줄을 주석 처리하거나 제거합니다.

SFTP 클라이언트의 알 수 없는 오류 대부분을 해결하는 데 도움이 됩니다. 그러나 SSH 클라이언트가 CMD를 기본 셸로 사용한다는 부작용이 있습니다.

PowerShell을 기본 셸로 사용하려면 SSH 클라이언트 구성(일반적으로 위치 ~/.ssh/config)을 편집하세요.

Host <host>
  ...
  RemoteCommand powershell

관련 정보