ssh2 yana karɓar rafi da aka riga aka haɗa ta zaɓin sock. Bari socksv5 ya kafa hanyar zuwa uwar garken SSH, sannan ka ba da wannan rafi ga SSH:

const socks = require('socksv5');
const { Client } = require('ssh2');

const connection = socks.connect({
  host: sshConfig.host,
  port: sshConfig.port || 22,
  proxyHost: 'proxy.example',
  proxyPort: 1080,
  localDNS: false,
  auths: [socks.auth.None()],
}, socket => {
  const ssh = new Client();
  ssh.on('error', error => console.error(error.message));
  ssh.on('ready', () => {
    ssh.sftp((error, sftp) => {
      if (error) {
        console.error(error.message);
        ssh.end();
        return;
      }
      sftp.readdir('.', (error, entries) => {
        if (error) console.error(error.message);
        else console.log(entries);
        ssh.end();
      });
    });
  });
  ssh.connect({ ...sshConfig, sock: socket });
});
connection.on('error', error => console.error(error.message));

sshConfig shine tsarin SSH na yanzu na aikace-aikacen, ciki har da asusunsa, maɓallinsa da manufar hostVerifier. Uwar garken SOCKS da tashar suna nuna mai shiga tsakani; sshConfig.host da port suna nuna sabis ɗin SSH na ƙarshe.

Misalin yana amfani da ƙarshen SOCKS ba tare da tabbatarwa ba. Don uwar garken SSH da ake iya samu daga intanet ɗin jama'a, jerin wakilan SOCKS5 na iya samar da 'yan takara; kowannensu yana buƙatar barin makomar SSH da tashar. Don hanyar sunan mai amfani/kalmar sirri, yi amfani da socks.auth.UserPassword(proxyUser, proxyPassword) a cikin auths. Waɗannan takardun shaidar ba sa maye gurbin asusun SSH.

localDNS false yana aika sunan uwar garken makoma zuwa uwar garken SOCKS, yana amfani da warwarewar makoma a ɓangaren wakili. Ba tare da wannan zaɓi bayyananne ba, tsohuwar hanyar socksv5 da aka rubuta tana ƙoƙarin warwarewa ta gida.

Kiran dawowar SOCKS yana gudana bayan tattaunawa. Jira taron ready na ssh2 kafin neman SFTP. Waɗannan matakai ne daban-daban na nasara; babu haɗin TCP zuwa wakili ko amsar SOCKS da ke tabbatar da nasarar tabbatarwar SSH ko tsarin SFTP.

Labarai masu alaƙa