Am făcut un port SSH local forwarding pe o mașină la distanță:
ssh -N -L 127.0.0.1:3388:127.0.0.1:22 localhost
funcționează pe mașina de la distanță în sine:
telnet localhost 3388
se intoarce
Încercați 127.0.0.1...
Conectat la 127.0.0.1.
Caracterul de evacuare este „^]”.
SSH-2.0-OpenSSH_7.4
Cu toate acestea, când folosesc această redirecționare de la mașina locală:
telecomandă telnet.ip 3388
eșuează:
Încercați remote.ip...
telnet: Imposibil de conectat la gazda de la distanță: Conexiune refuzată
S-ar putea crede că portul 3388 al mașinii de la distanță este blocat de firewall sau ceva de la rețea, așa că am dezactivat redirecționarea SSH și am testat un server http care asculta pe portul 3388 de pe mașina la distanță:
python3 -m http.server 3388
apoi mă conectez la acest port de la mașina mea locală:
telecomandă telnet.ip 3388
Rezultatul dă
Încercați remote.ip...
Conectat la remote.ip.
Caracterul de evacuare este „^]”.
părăsi
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
„http://www.w3.org/TR/html4/strict.dtd”>
<html>
<cap>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>Răspuns de eroare</title>
</cap>
<corp>
<h1>Răspuns la eroare</h1>
<p>Cod de eroare: 400</p>
<p>Mesaj: sintaxă de solicitare greșită („închidere”).</p>
<p>Explicația codului de eroare: HTTPStatus.BAD_REQUEST - Sintaxă greșită a cererii sau metodă neacceptată.</p>
</corp>
</html>
Conexiune închisă de către gazda externă.
ceea ce înseamnă că portul 3388 de pe mașina de la distanță este accesibil mașinii mele locale. Deci, de ce atât redirecționarea SSH, cât și rețeaua funcționează corect de către individ, dar eșuează atunci când sunt combinate? Știe cineva cum să remedieze asta? Mulțumiri.