SFTP phpseclib 3 tro shruth proxy stèidhichte
Cleachd cruthaiche sruth poblach phpseclib 3 gus SFTP a thòiseachadh tro thunail HTTP no SOCKS stèidhichte.
Gabhaidh phpseclib 3 ri goireas srutha fosgailte far am faigheadh a chruthaiche SSH/SFTP ainm aoigheir air dhòigh eile. 'S e sin am puing làimhseachaidh poblach airson ceangail a tha mar-thà air a ghiùlan tro proxy.
An toiseach, stèidhichidh an ceanglaiche tunail HTTP CONNECT no SOCKS chun an fhìor-fhrithealaiche SFTP agus a phort. An uairsin thoiribh an sruth stèidhichte gu 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');
}
'S e sruth ceangailte mar-thà a th' ann an $tunnel, chan e URL proxy. 'S e $expectedHostKey sreang a' phrìomh-iuchrach phoblaich earbsaich aig an fhrithealaiche, a gheibhear tro phròiseas solarachaidh na h-aplacaid, san fhòrmat a thilleas phpseclib. Faodaidh an teisteanas clàraidh a bhith na fhacal-faire taice no na nì iuchrach luchdaichte a thaghas an aplacaid.
Mìnichibh dè a thilleas an ceanglaiche
Feumaidh an sruth a bhith a' dol chun fhrithealaiche SFTP mar-thà. Airson HTTP CONNECT, tha seo a' ciallachadh gu bheil am proxy air an ceann-uidhe a ghabhail agus gu bheil na bannan-freagairt slàn aig a' phroxy air an caitheamh. Airson SOCKS, feumaidh an co-rèiteachadh buntainneach a bhith air a choileanadh gu soirbheachail. Feumaidh bàigh SSH sam bith a chaidh a leughadh mar-thà thar na crìche sin fuireach ri fhaighinn don bhuileachadh SSH.
Aig an àm sin nì phpseclib an t-iomlaid SSH agus tòisichidh e SFTP air an aon sruth. Faodaidh an aplacaid a gnìomhan SFTP àbhaisteach a chleachdadh. Tha eadar-aghaidh a' chruthaiche a' seachnadh fo-chlas aplacaid a bhiodh ag obair air raointean socaid a-staigh a chur nan àite.