phpseclib 3 ክፍት የፍሰት ምንጭ ይቀበላል፤ የSSH/SFTP ገንቢው በሌላ መንገድ የአስተናጋጅ ስም የሚቀበልበት ቦታ ነው። ይህ በፕሮክሲ አልፎ ለተጓዘ ግንኙነት ይፋዊ የማስተላለፊያ ነጥብ ነው።

መጀመሪያ አገናኙ ወደ ትክክለኛው የSFTP አገልጋይና ወደብ የHTTP CONNECT ወይም የSOCKS ቱነል ይገነባል። ከዚያ የተገነባውን ፍሰት ወደ 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 አስቀድሞ የተገናኘ ፍሰት ነው፣ የፕሮክሲ URL አይደለም። $expectedHostKey የአገልጋዩ የታመነ የሕዝብ ቁልፍ ሕብረቁምፊ ነው፣ በመተግበሪያው የማቅረቢያ ሂደት የተገኘ፣ phpseclib በሚመልሰው ቅርጸት። የመግቢያ ማረጋገጫው የተደገፈ የይለፍ ቃል ወይም በመተግበሪያው የተመረጠ የተጫነ ቁልፍ ነገር ሊሆን ይችላል።

አገናኙ ምን እንደሚመልስ ይግለጹ

ፍሰቱ አስቀድሞ ወደ SFTP አገልጋዩ መምራት አለበት። ለHTTP CONNECT ይህ ማለት ፕሮክሲው መዳረሻውን ተቀብሏል እና ሙሉ የፕሮክሲ ምላሽ ራስጌዎች ተነበዋል ማለት ነው። ለSOCKS ተጓዳኙ ድርድር በተሳካ ሁኔታ መጠናቀቅ አለበት። ከዚህ ወሰን በላይ አስቀድሞ የተነበበ ማንኛውም የSSH ባይት ለSSH አፈጻጸሙ ይገኝ መሆን አለበት።

በዚህ ጊዜ phpseclib የSSH ልውውጥን ያከናውንና በዚያው ፍሰት ላይ SFTP ይጀምራል። መተግበሪያው የተለመዱትን የSFTP ስራዎች መጠቀም ይችላል። የገንቢው በይነገጽ ውስጣዊ የሶኬት መስኮችን መተካት ስራው የሆነ የመተግበሪያ ንዑስ ክፍልን ያስወግዳል።

ተዛማጅ ጽሑፎች