Windows에서 sshd, sftp-server의 실행 환경 구축
6446 단어 OpenSSHWindowssftp-server
개요
이것은 Windows 10에서 sshd, sftp-server 실행 환경을 구축할 때의 노트입니다.
sshd, sftp-server는 마이크로소프트가 Windows를 위해 개발한 Win32-OpenSSH를 사용했다.
컨디션
SSH에서 사용할 포트 설정
기본값은 포트 22이며 이 예에서는 포트 20022를 사용합니다.
Windows 방화벽은 다음을 수행하여 포트 20022로 설정합니다.
관리자 권한 시작 명령 프롬프트에서 다음 명령을 실행합니다.
규칙 추가
> netsh advfirewall firewall add rule name="sshd" dir=in action=allow protocol=TCP localport=20022 profile=private
OK
규칙적 확인
> netsh advfirewall firewall show rule name="sshd"
規則名: sshd
----------------------------------------------------------------------
有効: はい
方向: 入力
プロファイル: プライベート
グループ:
ローカル IP: 任意
リモート IP: 任意
プロトコル: TCP
ローカル ポート: 20022
リモート ポート: 任意
エッジ トラバーサル: いいえ
操作: 許可
OK
규칙의 유효성/무효화
enable에서 지정한 값은 "yes": 유효화 "no": 무효화입니다.> netsh advfirewall firewall set rule group="sshd" new enable=(yes|no)
또한 화면에서 조작할 때 '제어판 → 시스템 및 안전 → Windows 방화벽 → 화면 왼쪽 메뉴의 상세한 설정' 에서 왼쪽 메뉴의 '수신 규칙' 을 누르고 왼쪽 조작 메뉴에서 '새 규칙' 을 선택한 다음 왼쪽 조작 메뉴에서 '새 규칙' 을 선택합니다.를 선택합니다.
그리고 새 수신 규칙 마법사에 따라 포트를 여는 규칙을 추가합니다.
Tips
포트 22를 여는 규칙의 추가 방법을 검색하면 PowerShell에서 아래 명령을 사용하는 설명을 자주 볼 수 있지만, 이 방법이 효과적인 것은 윈도 서버 2012, 윈도 8이다.Windows 7 또는 10에는 netsh 명령이 필요합니다.> New-NetFirewallRule -DisplayName "sshd" -Direction Inbound -Protocol TCP -LocalPort 22 -Action Allow
Win32-OpenSSH
OpenSSH-Win64.zip을 다운로드하여 적당한 위치로 펼치십시오.
이 예에서는 확장된 디렉토리를 C:\OpenSSH-Win64에 구성하고 환경 변수 Path에 추가합니다.
sshd_config 편집
다음 설정을 변경합니다.#Port 22
Port 20022
#Subsystem sftp sftp-server.exe
Subsystem sftp C:\OpenSSH-Win64\sftp-server.exe
설치하다.
이 디렉토리를 현재 디렉토리로 설정하고 관리자 권한으로 명령 프롬프트를 시작하고 다음 명령을 실행합니다.> powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
[SC] SetServiceObjectSecurity SUCCESS
[SC] ChangeServiceConfig SUCCESS
Granting SeAssignPrimaryTokenPrivilege to NT SERVICE\SSHD ... successful
sshd and ssh-agent services successfully installed
> ssh-keygen.exe -A
ssh-keygen.exe: generating new host keys: RSA DSA ECDSA ED25519
> powershell.exe -ExecutionPolicy Bypass -File install-sshlsa.ps1
> ssh-keygen.exe -l -f ssh_host_rsa_key -E md5
2048 MD5:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:** HOME-DEV-PC\rubytomato@home-dev-pc (RSA)
일부는 마스크를 쓰고 있었다.
여기서 PC를 다시 시작합니다.
서비스 시작
관리자 권한으로 명령 알림을 시작하고 net 명령으로 sshd 서비스를 시작합니다.
sshd 서비스가 시작되면 sftp-server도 사용할 수 있습니다.> net start sshd
sshd サービスは正常に開始されました。
서비스의 정지
> net stop sshd
sshd サービスは正常に停止されました。
클라이언트 설정
인증 키 파일 만들기
sftp 서버에 사용할 인증 키 파일을 만듭니다.
이 예에서 PuTTY의 PUTTYGET.EXE를 사용하여 암호문이 없는 개인 키 파일과 공개 키 파일을 만듭니다.
> netsh advfirewall firewall add rule name="sshd" dir=in action=allow protocol=TCP localport=20022 profile=private
OK
> netsh advfirewall firewall show rule name="sshd"
規則名: sshd
----------------------------------------------------------------------
有効: はい
方向: 入力
プロファイル: プライベート
グループ:
ローカル IP: 任意
リモート IP: 任意
プロトコル: TCP
ローカル ポート: 20022
リモート ポート: 任意
エッジ トラバーサル: いいえ
操作: 許可
OK
> netsh advfirewall firewall set rule group="sshd" new enable=(yes|no)
> New-NetFirewallRule -DisplayName "sshd" -Direction Inbound -Protocol TCP -LocalPort 22 -Action Allow
OpenSSH-Win64.zip을 다운로드하여 적당한 위치로 펼치십시오.
이 예에서는 확장된 디렉토리를 C:\OpenSSH-Win64에 구성하고 환경 변수 Path에 추가합니다.
sshd_config 편집
다음 설정을 변경합니다.
#Port 22
Port 20022
#Subsystem sftp sftp-server.exe
Subsystem sftp C:\OpenSSH-Win64\sftp-server.exe
설치하다.
이 디렉토리를 현재 디렉토리로 설정하고 관리자 권한으로 명령 프롬프트를 시작하고 다음 명령을 실행합니다.
> powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
[SC] SetServiceObjectSecurity SUCCESS
[SC] ChangeServiceConfig SUCCESS
Granting SeAssignPrimaryTokenPrivilege to NT SERVICE\SSHD ... successful
sshd and ssh-agent services successfully installed
> ssh-keygen.exe -A
ssh-keygen.exe: generating new host keys: RSA DSA ECDSA ED25519
> powershell.exe -ExecutionPolicy Bypass -File install-sshlsa.ps1
> ssh-keygen.exe -l -f ssh_host_rsa_key -E md5
2048 MD5:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:** HOME-DEV-PC\rubytomato@home-dev-pc (RSA)
일부는 마스크를 쓰고 있었다.여기서 PC를 다시 시작합니다.
서비스 시작
관리자 권한으로 명령 알림을 시작하고 net 명령으로 sshd 서비스를 시작합니다.
sshd 서비스가 시작되면 sftp-server도 사용할 수 있습니다.
> net start sshd
sshd サービスは正常に開始されました。
서비스의 정지
> net stop sshd
sshd サービスは正常に停止されました。
클라이언트 설정
인증 키 파일 만들기
sftp 서버에 사용할 인증 키 파일을 만듭니다.
이 예에서 PuTTY의 PUTTYGET.EXE를 사용하여 암호문이 없는 개인 키 파일과 공개 키 파일을 만듭니다.
> ssh-keygen -i -f sftp_rsa.pub >> authorized_keys
WinSCP 설정
WinSCP를 시작하여 로그인 화면에서 "새 사이트"를 클릭하여 설정을 추가합니다.
사용자 이름 에 Windows 계정의 사용자 이름을 입력합니다.
원격 디렉토리를 지정합니다.(안 해도 돼.)
개인 키 PUTTYGET.EXE에서 만든 키 파일을 지정합니다.
Reference
이 문제에 관하여(Windows에서 sshd, sftp-server의 실행 환경 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/rubytomato@github/items/a7681c9ccb5db65025df텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)