
자동화된 트랜잭션을 위한 배치 파일을 설정하려고 하는데 지금까지 테스트가 실패했습니다.
연결이 이루어진 서버의 공개 키를 가지고 있습니다. .pkk 파일로 저장되어 WinSCP로 가져왔습니다.
결과를 텍스트 파일에 기록했는데 다음과 같습니다.
Username: 4m4nseth (Password: No, Key File: No)
키 파일이 있지만 어떤 이유로 WinSCP가 이를 선택하지 않습니다.
배치 파일로 실행하면 다음 메시지가 나타납니다.
세션 이름: 4m4nseth@IP 주소 호스트 이름: IP 주소(포트: 22) 사용자 이름: 4m4nseth(비밀번호: 아니요, 키 파일: 아니요) 터널: 전송 프로토콜 없음: SFTP(SCP) 핑 유형: -, 핑 간격: 30초; 시간 초과: 15초
그러나 WinSCP에서 실행 중인 경우 다음과 같습니다.
세션 이름: 4m4nseth@ipaddress 호스트 이름: ipaddress (포트: 22) 사용자 이름: 4m4nseth(비밀번호: 아니요, 키 파일: 예) 터널: 전송 프로토콜 없음: SFTP(SCP)
보시다시피 키 파일이 저장되었지만 배치 명령으로 실행하면 인식되지 않습니다.
답변1
공개 키와 개인 키가 잘못된 방향으로 있다고 생각합니다.
WinSCP를 사용하여 서버로(또는 서버에서) 정보를 복사하는 경우 WinSCP를 실행하는 상자에서 공개/개인 키를 생성하고 개인 키로 WinSCP를 구성한 다음 서버의 적절한 위치에 공개 키를 넣어야 합니다( Linux의 경우 ~username/.ssh/authorized_keys
처음에는 이것이 나에게 직관에 어긋나는 것처럼 보였지만 (오래 전 !!) 논리를 통해 작업하면 실제로 완벽하게 이해됩니다. 다음과 같이 생각하면 도움이 될 수 있습니다.
- 개인 키는 개인용이어야 합니다. 즉, 사용자가 알아야 하는 정보만 있어야 합니다.
- 서버가 다른 사람의 소유인 경우 자신만이 알아야 할 정보를 제공하고 싶지 않으므로
개인 키를 제공하고 싶지 않습니다. - 반면, 공개 키를 제공했는데 시스템이 손상되어 다른 사람이 설정에 공개 키를 추가했다면 이는 귀하가 해당 시스템에 액세스할 수 있다는 의미일 뿐입니다. 아무 것도 잃지 않은 것입니다. 반면에 개인 키를 제공해야 한다면 이에 대한 통제력을 잃게 됩니다.