SFTP phpseclib 3 iyada oo loo marayo qulqulka proxy ee la dhisay
Isticmaal hal-abuurka qulqulka dadweynaha ee phpseclib 3 si aad u bilowdo SFTP iyada oo loo marayo tunnel HTTP ama SOCKS oo hore loo dhisay.
phpseclib 3 waxay aqbashaa kheyraad qulqul o furan halka hal-abuurkeeda SSH/SFTP uu haddii kale heli lahaa magaca martigeliyaha. Tani waa barta wareejinta dadweynaha ee isku xirka hore ugu socda proxy.
Marka hore, isku xiraha wuxuu dhisaa tunnel HTTP CONNECT ama SOCKS oo u socda serverka SFTP ee dhabta ah iyo dekeddiisa. Kadib u gudbi qulqulka la dhisay SFTP:
use phpseclib3\Net\SFTP;
$sftp = new SFTP($tunnel);
$actualHostKey = $sftp->getServerPublicHostKey();
if ($actualHostKey === false
|| !hash_equals($expectedHostKey, $actualHostKey)) {
throw new RuntimeException('Unexpected SFTP server key');
}
if (!$sftp->login($sftpUser, $sftpCredential)) {
throw new RuntimeException('SFTP login failed');
}
$tunnel waa qulqul hore loo xidhay, ma aha URL proxy. $expectedHostKey waa xarigga furaha dadweynaha ee la aamini karo serverka, oo laga helay habka diyaarinta codsiga, qaabka phpseclib soo celiso. Aqoonsiga gelitaanka wuxuu noqon karaa furaha sirta ee la taageeray ama shay fure la raray oo codsigu doortay.
Qeex waxa isku xirahu soo celiyo
Qulqulka waa inuu hore u horseedaa serverka SFTP. HTTP CONNECT, tan macnaheedu waa proxy-ga wuu aqbalay goobta oo madaxyada jawaabta proxy oo dhamaystiran waa la isticmaalay. SOCKS, wada-hadalka khuseeya waa inuu si guul leh u dhammaaday. Byte kasta oo SSH ah oo hore loo akhriyay xadkaas dhaafiisa waa inuu u sii jiraa fulinta SSH.
Waqtigaas phpseclib waxay sameysaa is-weydaarsiga SSH oo bilaabaa SFTP isla qulqulkaas. Codsigu wuxuu isticmaali karaa hawlihiisa SFTP caadiga ah. Interface-ka hal-abuurka wuxuu ka fogaadaa qayb-hoosaad codsi oo shaqadiisu tahay beddelka beeraha socket-ka gudaha.