EC2 인스턴스를 ssh2 PHP 모듈과 연결하려고합니다.ssh2_auth_pubkey_file을 사용하여 PHP에서 EC2에 연결할 수 없습니다.
known_hosts 파일 (형식 : "ssh-rsa XXXX ..."public.txt "파일에 넣음)에서 공개 키를 가져 왔으며 개인 키로 amazon keypair.pem을 사용하고 있습니다 (" ----- 개인 RSA 프라이빗 키 ----- XXXX ... "private.pem).
$connection = ssh2_connect('XXXX.eu-west-1.compute.amazonaws.com', 22, array('hostkey'=>'ssh-rsa'));
if(!ssh2_auth_pubkey_file(
$connection,
'ubuntu',
'public.txt',
'private.pem'
))
die("Auth error");
$sftp = ssh2_sftp($connection);
내가 오류는 다음과 같습니다 : ssh2_auth_pubkey_file() :
나는이 PHP 코드를 사용하고 있는데 어떻게 생각 유효하지 않은 사용자 이름/PublicKey의 조합
을 : 인증은 공개 키를 사용하여 우분투 실패 잘못하고있는거야?
우리는이 방법으로 해결 – xspecial
어떤 생각을 ssh2_auth_pubkey_file 공개 키를 요청하는 이유? 공개 키가 OpenSSH 형식이어야하는 이유는 무엇입니까? –
@ bogdanioan.gabor - SSH의 작동 방식은 인증에 사용할 사용자 이름과 공개 키를 보내는 것입니다. 서버가이를 수락하면 서버가 공개 키로 서버를 확인할 수 있도록 개인 키로 무언가를 서명해야합니다. 그래서 libssh2가 공개 키를 요청할 때 개인 키에서 공개 키를 추출 할 수 없거나 해당 형식을 적절한 키로 변환 할 수 없기 때문입니다. – neubert