WIFI환경(내부망) Windows 원격제어 Permission denied (publickey,keyboard-interactive) 문제해결방법
https://learn.microsoft.com/ko-kr/windows-server/administration/openssh/openssh_keymanagement
공식문서를 참조하되 막히면 아래내용을 확인한다
기본개념
1.서버가될 윈도우 컴퓨터에 openssh서버 설치 (자동으로 방화벽 22 열림(인바운드))
2.클라이언트가 될 윈도우에 openssh클라이언트 설치
3.클라이언트에서 SSH발급
윈도우는 권한문제가 복잡하게 얽혀있는것같다
즉, 머리가 아프므로 쉽게가자면
클라이언트에서 ~.\ssh\.pub 공개키 파일의 내용을 복사
서버컴 C:\ProgramData\ssh\경로에 administrators_authorized_keys 파일을 생성
복사한 내용을 붙혀넣기
4.administrators_authorized_keys 파일에 권한을 알맞게 설정해주어야한다.
서버 CMD 창에 아래 명령어 입력
icacls.exe "C:\ProgramData\ssh\administrators_authorized_keys" /inheritance:r /grant "Administrators:F" /grant "SYSTEM:F"
5.클라이언트에서 Putty나 mobaxterm 같은대서
~ssh/private key (.pub아닌 파일이 개인키)의 경로로 세션을 설정하고
사설IP(공유기 내부망) 172.***.***.1 에 접속을 하면
id를 묻는데 이건 서버계정을 입력해주면 된다 ( 아마 administrators_authorized_keys 파일에 대한 적절한 권한을 가진 사용자여야 할것이다)
만약 비밀번호를 묻고 모르겠다면
C:\ProgramData\ssh경로에 sshd_config 파일을 메모장으로 열고
주석처리되어있는 아래 패스워드 인증을 안하겠다고 바꾼다. (주석해제)
PasswordAuthentication no
config 파일을 바꿨다면 cmd로 서비스를 재시작한다
Stop-Service sshd
Start-Service sshd
6.외부에서의 접속
와이파이는 기본적으로 외부접속은 다 차단하는 방화벽 기능을 수행한다.
때문에 나의 공유기 세팅에서 (public IP(공인IP)로 접속을 한다)
포트 포워딩한다
예시 : 외부기기에서 공유기 IP인 3.3.3.3:22로 접속을하면 172.*.*.1:22로 연결됨 (물론 외부에서 접속하는 기기도 private파일을 가지고있어야 하겠다.)
여기에 WOL 매직패킷 까지 활용해서 외부에서 원격으로 전원을 켜서 사용하는 방법도있겠다.
Permission denied 만보면 화가 치밀어오른다