FileZilla FTP 클라이언트의 키 캐시에서 SFTP SSH 키를 추출하는 방법
문제
FileZilla를 사용하여 SFTP를 통해 서버에 연결했으며 서버의 SSH 키를 FileZilla의 키 캐시에 추가하는 것을 허용했습니다.
키 파일을 제공해야 하는 다른 SFTP 애플리케이션을 통해 사용할 수 있도록 이 캐시된 키를 키 파일로 추출하려면 어떻게 해야 합니까?
FileZilla 문서에서 이와 관련된 내용을 찾을 수 없습니다.
해결책
표준 openssh 콘솔 클라이언트(cygwin 또는 Linux)를 사용하는 경우 호스트 키는 한 줄에 하나씩 ~/.ssh/known_hosts에 저장됩니다.여기에서 라이브러리에 필요한 호스트 키 비트를 파악하는 것은 간단합니다.
Putty는 호스트 키도 저장하지만 이를 16진수로 인코딩하는 것으로 보입니다.HKCUR\Software\SimonTatham\PuTTY\SshHostKeys에서 찾을 수 있습니다.
다른 팁
토마스의 말이 맞았다.FileZilla는 PuTTY의 PSFTP 프로그램을 피기백하고 그가 나열한 레지스트리 키(HKCUR\Software\SimonTatham\PuTTY\SshHostKeys)에 16진수 형식으로 인코딩된 저장된 키를 저장합니다.Known_hosts 형식의 키가 필요했기 때문에 다음을 설치할 수 있었습니다. openssh의 Windows 버전 그의 추천에 따라 ssh-keyscan 도구를 사용하여 서버에 접속하고 키 정보를 올바른 형식으로 저장했습니다.
ssh-keyscan -t rsa <my_ftp_ip_address> > c:\known_hosts
ssh-keyscan -t dsa <my_ftp_ip_address> > c:\known_hosts
토마스와 SO에게 감사드립니다!
팁을 주신 Dougman에게 감사드립니다!
귀하의 답변을 읽는 신규 이민자를 돕기 위해.
ssh-keyscan을 실행하기 전에 openssh가 기본적으로 설치되어 있다고 가정하면 실행해야 할 몇 가지 명령이 있습니다(자세한 내용은 빠른 시작/readme 설치를 참조하세요).
호스트 키를 얻을 수 있는 명령은 다음과 같습니다.
C:\Program Files\OpenSSH\bin>mkgroup -l >> ..\etc\group
C:\Program Files\OpenSSH\bin>mkpasswd -l >> ..\etc\passwd
C:\Program Files\OpenSSH\bin>net start opensshd
The OpenSSH Server service is starting.
The OpenSSH Server service was started successfully.
C:\Program Files\OpenSSH\bin>ssh-keyscan -t rsa vivo.sg.m.com > c:\known_hosts
vivo.sg.m.com SSH-2.0-Sun_SSH_1.1
GUI를 사용하고 싶다면 WinSCP FTP 클라이언트를 사용하여 로그 창이나 최초 연결 팝업에서 호스트 키를 빼낼 수 있습니다. https://winscp.net/eng/docs/ssh_verifying_the_host_key
내가 당신을 오해하지 않는 한 :그럴 필요는 없습니다.
다른 애플리케이션을 사용하여 서버에 연결하는 경우(예:PuTTY) 이전에 서버를 본 적이 없으면 키를 수락하라는 메시지가 표시됩니다.
왜 이렇게 하려는지 알겠습니다. 하지만 각 애플리케이션에는 키를 저장하는 고유한 방법이 있을 수 있습니다.