공개 키 인증을 사용하여 Windows에 SSH로 연결할 수 없습니다.

공개 키 인증을 사용하여 Windows에 SSH로 연결할 수 없습니다.

공개 키 인증을 사용하여 SSH를 통해 Windows에 연결하려고 합니다. 그러나 분명히 작동하지 않습니다.

내가 한 일은 다음과 같습니다.

Windows에 SSH를 설치하고 활성화했습니다.

Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

공개 키 파일을 생성하고 SSH를 통해 원격 컴퓨터로 보냈습니다.

ssh-keygen

SSH 설정 파일 "C:\ProgramData\ssh\sshd_config"에서 다음 줄을 변경/추가했습니다.

PermitRootLogin yes
AllowUsers otheruser
PubkeyAuthentication yes
PasswordAuthentication no

설정 변경 사항을 적용하기 위해 SSH 서버를 다시 시작했습니다.

net stop sshd ; net start sshd

원격 컴퓨터(Windows, Powershell)에서 Windows 컴퓨터로 SSH를 시도했습니다.

ssh -i C:\_sync_\id_rsa [email protected]

그리고 실패했습니다.

> ssh -i C:\_sync_\id_rsa [email protected]
[email protected]: Permission denied (publickey,keyboard-interactive).

그렇다면 이 SSH 공개 키 인증 문제를 어떻게 해결할 수 있습니까?

답변1

Windows에 SSH로 연결하는 것은 일종의 시간 낭비입니다. 그들의 문서https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_keymanagement구식이다https://github.com/MicrosoftDocs/windowsserverdocs/issues/4598불행히도 더 이상 작동하지 않습니다.

Windows 10을 사용하는 경우 Windows 10에서 WSL Linux를 사용하는 것이 좋습니다. 기본적으로 Windows의 Linux 시스템이지만 SSH 기능에도 사용할 수 있습니다. WSL SSHing은 Linux 시스템에서처럼 완벽하게 작동합니다.

답변2

authorized_keysWindows 에서는 표준 사용자인지 관리 사용자인지에 따라 다른 파일이 필요한 것 같습니다 .

2024년 4월 15일 현재 Windows용 OpenSSH에 대한 언급이 있습니다.선적 서류 비치그 말은 (행정사용자):

공개 키(.ssh\id_ed25519.pub)의 콘텐츠는 서버의 C:\ProgramData\ssh\에 있는administrators_authorized_keys라는 텍스트 파일에 저장되어야 합니다.

관련 정보