Solaris 10/11의 "ssh-keyscan -H"와 동일

Solaris 10/11의 "ssh-keyscan -H"와 동일

루트의 Known_hosts 파일에 지정된 호스트를 추가하는 Perl 프로그램을 만들고 있습니다. 이 프로그램은 AIX와 Linux에서 실행되지만 Solaris에서는 실행되지 않습니다. 불행히도 이에 상응하는 명령을 찾을 수 없습니다.

샘플 라인:

system("ssh-keyscan -H www.myserver.domain >> /.ssh/known_hosts");

산출:

ssh-keyscan: 잘못된 옵션 --H 사용법: ssh-keyscan [-v46] [-p 포트] [-T 시간 초과] [-f 파일] [호스트 | 포트] 주소 목록] [...]

업데이트 1:

다음 명령을 시도했지만 여전히 진위 여부를 묻습니다.

system("ssh-keyscan -t rsa www.myserver.domain >> /.ssh/known_hosts");

업데이트 2: Perl 외부 출력:

# ssh-keyscan -t rsa www.myserver.domain >> /.ssh/test123.text 
# www.myserver.domain SSH-2.0-OpenSSH_6.7p1 Debian-5+deb8u3  
# less test123.text
# www.myserver.domain ssh-rsa KEY  
# ssh www.myserver.domain
# The authenticity of host 'www.myserver.domain (IP)' can't be established. RSA key fingerprint is FINGERPRINT. Are you sure you want to continue connecting (yes/no)?

답변1

Solaris 10/11의 ssh-keyscan 매뉴얼 페이지를 보면 이 스위치가 지원되지 않는 것 같습니다.

인용하다:ssh-keyscan 매뉴얼 페이지
ssh-keyscan [-v46] [-p port] [-T timeout] [-t type] 
     [-f file] [-] [host... | addrlist namelist] [...]

ssh-keyscan <hostname>키를 검색한 다음 파일에 쓸 수 있다고 생각합니다 ~/.ssh/known_hosts. 이 방법은 여전히 ​​작동하지만 다음과 같이 호스트에서 사용하는 모든 이름을 한 줄에 표시하지는 않습니다.

hostname1, hostname1.fqdn.com .....

따라서 생성된 파일을 일부 정리해야 할 수도 있습니다 known_hosts.

호스트 진정성

파일에 아직 존재하지 않는 호스트를 스캔할 수 없는 catch 22와 동일한 상황이 발생하는 경우 known_hosts:

호스트 'www.myserver.domain(IP)'의 신뢰성을 확인할 수 없습니다. RSA 키 지문은 FINGERPRINT입니다. 계속 연결하시겠습니까(Y/N)?

다음을 일시적으로 비활성화하여 이 문제를 해결할 수 있습니다 StrictHostKeyChecking.

$ cat ~/.ssh/config
...
StrictHostKeyChecking no
...

그런 다음 명령을 다시 실행하십시오 keyscan <host> .... 완료되면 StrictHostKeyChecking에서 제거해야 합니다 ~/.ssh/config.

인용하다

관련 정보