나는 win2008 상자에 로그인했고, scp
개인 키가 win2008 상자에 있는 디렉터리를 가리키는 -i 옵션을 사용하여 실행했습니다.
scp -i "cygdrive/c/users/userid/privkey..." user@linux:/dirA/dirB/* .
win2008 상자에서 이 명령을 실행하면 Linux 상자에 로그인되고 키가 일치하며 파일이 win2008 상자로 전송됩니다. 키를 지정하지 않으면 비밀번호를 묻는 메시지가 나타납니다.
ssh-keygen을 사용하여 win2008 상자에 키를 생성했습니다. 공개 키 아래의 Winsshd 설정에 Linux 키를 추가했습니다. 그런 다음 ssh-keygen에서 키를 가져와 Linux 상자에 넣었습니다.
scp 명령이 키를 찾는 위치는 어디입니까? scp
키를 매개변수로 전달하지 않고 win2008 상자에서 어떻게 실행할 수 있나요 ?
답변1
귀하의 질문을 올바르게 이해했다면 몇 가지 옵션이 있습니다 ...
여기에 설명된 대로 SSH에 대해 수행한 것과 동일한 방식으로 기본 ID 파일 위치를 설정합니다...https://stackoverflow.com/questions/84096/setting-the-default-ssh-key-location
또는
scp
다음과 같이 수정자를 포함하도록 명령에 별칭을 지정하십시오.alias scp='scp -i /path/of/keyfile'
둘 다 작동해야 하지만 옵션 2보다 옵션 1을 권장합니다. 이 방법이 더 올바른 방법입니다.
답변2
나만의 답을 찾은 것 같아요. 분명히 scp는 id_dsa라는 이름의 개인 키 파일을 찾고 있으며 .ssh 디렉토리에 있는 파일을 원합니다. Cygwin 디렉토리 구조(퍼즐의 또 다른 핵심 부분)에서 home/.ssh를 찾고 id_dsa라는 이름의 개인 키 파일을 추가하고 -i 옵션 없이 scp 명령을 실행하면 작동했습니다. 이 문제를 해결할 수 있도록 '스마트'한 느낌을 보내주신 모든 분들께 감사드립니다. 더 이상 당황하지 마세요! 나는 여기에 제시된 모든 제안을 좋아합니다. 빠른 피드백에 감사드립니다.