2014-12-10 3 views
0

방금 ​​생성 한 서버에 phpseclib를 사용하고 있습니다. 연결된 적이 없으므로 ~/.ssh/known_hosts에 표시되지 않습니다. 이 진위 확인하지 않으려면known_hosts 무결성 검사 금지

The authenticity of host 'xxx.xxx.xxx.xxx' can't be established. 
RSA key fingerprint is xxx. 
Are you sure you want to continue connecting (yes/no)? 

나는 플래그에서 OpenSSH에 전달 될 수 있다는 사실을 알고 : 경고를 무시하고 싶습니다 내가 일어나는에서 스크립트 시간 초과를 방지하기 위해

ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no [email protected] 

것은이 특징이다 그것은 phpseclib로 나아갔습니다.

답변

1

phpseclib는 호스트 신원을 확인할 수 없으며 확인할 수도 없습니다.

$ssh->getServerPublicHostKey()을 통해 서버 공개 호스트 키를 검색 할 수있는 phpseclib의 기능은 무엇입니까? 서버에 로그인하기 전에 그렇게 할 수 있습니다. DB 또는 파일 시스템에 키를 저장하고 향후 연결시 저장된 키를 확인할 수 있습니다.

내 말은, 어쨌든 phpseclib가 서버 공용 호스트 키를 어디에 저장하겠습니까? DB 액세스 권한이 있는지 여부는 알 수 없습니다. 파일 시스템이 쓰기 가능한지 여부는 알 수 없습니다. tempnam()을 사용할 수 있다고 가정하지만 처음 연결에서 무엇을합니까? 웹 브라우저 (CLI가 아닌)를 통해 실행 중이며 js 팝업을 표시한다고 가정하십시오. 어쨌든 tempnam()은 영구적이지 않습니다./tmp가 파일 시스템에 의해 지워질 때마다 다시 묻습니다?

+0

호스트 인증을 확인하지는 않지만 CLI 스크립트가 인증 진위 여부 경고를 표시하는 이유는 무엇입니까? – Josh

+0

그 밖의 뭔가가 수표를 불러 일으켰습니다. – Josh