![방법: c:\ProgramData\ssh\administrators_authorized_keys에 있는 scp를 사용하여 Linux(클라이언트)에서 Windows(openssh를 실행하는 서버)에 공개 키를 연결합니다.](https://linux55.com/image/219390/%EB%B0%A9%EB%B2%95%3A%20c%3A%5CProgramData%5Cssh%5Cadministrators_authorized_keys%EC%97%90%20%EC%9E%88%EB%8A%94%20scp%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20Linux(%ED%81%B4%EB%9D%BC%EC%9D%B4%EC%96%B8%ED%8A%B8)%EC%97%90%EC%84%9C%20Windows(openssh%EB%A5%BC%20%EC%8B%A4%ED%96%89%ED%95%98%EB%8A%94%20%EC%84%9C%EB%B2%84)%EC%97%90%20%EA%B3%B5%EA%B0%9C%20%ED%82%A4%EB%A5%BC%20%EC%97%B0%EA%B2%B0%ED%95%A9%EB%8B%88%EB%8B%A4..png)
관리자 권한으로 Linux(Ubuntu)에서 Windows 서버로 클라이언트 키를 복사하려고 합니다.
지금까지는 다음 단계를 통해 이를 달성할 수 있습니다.
저는 관리자로서 Linux에서 bash를 사용하고 Windows에서 powershell 7.3.4를 사용하고 있습니다.
- Linux 클라이언트의 공개 키를 Windows 서버에 복사합니다.
scp ~/.ssh/public_key.pub Admin@WindowsServer:__PROGRAMDATA__/ssh/
- Windows 서버에 SSH로 접속하여
administrators_authorized_keys
파일이 존재하는지 확인하고,C:\PROGRAMDATA\SSH\
존재하지 않으면 파일을 생성하십시오.
New-Item -Force -Path c:\PROGRAMDATA\ssh\administrators_authorized_keys
- Administrators_authorized_keys 파일에 대한 권한을 설정합니다.
icacls C:\PROGRAMDATA\ssh\administrators_authorized_keys /inheritance:r /grant "Administrators:F" /grant "SYSTEM:F"
- public_key.pub의 내용을administrator_authorized_keys에 추가합니다.
Get-Content C:\ProgramData\ssh\public_key.pub | Add-Content C:\ProgramData\ssh\administrators_authorized_keys
이제 파일이 생성되고 구성되었으므로 다른 Linux 클라이언트를 사용하여 공개 키를 이 Windows 서버(이미 구성됨)에 연결하고 ONE-LINE에서 사용하려고 administrators_authorized_keys
합니다 .administrators_authorized_keys
scp
나는 다음과 같은 것을 시도했습니다. 공개 키 파일을 복사했지만 파일
scp Linux2Win_key.pub Admin@WindowsServer:__ProgramData__/ssh/ ; Get-Content C:\ProgramData\ssh\Linux2Win_key.pub | Add-Content C:\ProgramData\ssh\administrators_authorized_keys
에 추가하지 않았습니다 . administrator_authorized_keys
오류가 발생합니다.
-bash: Add-Content: command not found
-bash: Get-Content: command not found
그런 다음 이것을 시도했습니다.
scp Linux2Win_key.pub Admin@WindowsServer:__ProgramData__/ssh/ ; cat __ProgramData__/ssh/Linux2Win_key.pub >> __ProgramData__/ssh/administrators_authorized_keys
비슷한 결과, 공개 키 파일이 복사되었지만 administrator_authorized_keys
파일에 추가되지 않았습니다. 에러 발생됨:
-bash: __ProgramData__/ssh/administrators_authorized_keys: No such file or directory
생각:
scp는 파일만 복사할 수 있고 ssh-copy-id는 Windows에서 작동하지 않는 것 같습니다. 하지만 Windows에서는 openssh를 활성화하고 ssh를 사용할 수 있습니다.
authorized_keys
Windows에 공개 키를 연결 하거나 Windows에서 연결하는 더 좋은 방법(수동으로 수행하는 대신)을 알고 있다면 administrators_authorized_keys
공유해 주세요. 감사
합니다. 이것은 Windows 관련 질문에 가깝습니다. 다른 곳에 물어보려고 했습니다.
Linux/Unix 포럼에 이 질문을 해서 누군가를 기분 나쁘게 만들었다면 죄송합니다.
답변1
따옴표가 누락 된 것 같습니다!
명령어를 사용할 때에는 scp
다음 Admin@WindowsServer:
내용을 따옴표로 묶어야 합니다.
scp Linux2Win_key.pub Admin@WindowsServer:'__ProgramData__/ssh/ ; Get-Content C:\ProgramData\ssh\Linux2Win_key.pub | Add-Content C:\ProgramData\ssh\administrators_authorized_keys'
이것은 나에게 효과적입니다.