Wie stelle ich einen Proxy für das Terminal ein?


36

Ich möchte einen Proxy für das Terminal einrichten. Was ich brauche, ist, dass ich die gesamte Terminalkommunikation über einen Proxy an das Internet senden möchte, sagen wir tor.

Ich habe versucht, einen systemweiten Proxy einzurichten. Das Terminal befolgt jedoch nicht die systemweite Proxy-Konfiguration.

Gibt es eine andere Möglichkeit, dies zu tun?


Du meinst ssh oder telnet oder ...? Bitte erläutern Sie uns "Terminalkommunikation". Sie können mit einigen Hosts über Proxy oder FTP telneten, aber die Kommunikation von Minicom kann nicht über das Netz gesendet werden ... außer wie bei einer Protokolldatei ....
2707974 10.02.15

1
Ist es möglich, einen Proxy für alle Netzwerkaktivitäten festzulegen, die über das Terminal ausgeführt werden? Anstatt Proxy für wget, curl und andere separat einzustellen. Ich suche eine solche Lösung.
Anonymous Platypus

Ja, aber normalerweise funktioniert es auf Port 80 oder 443, ssh auf Port 22, telnet auf 23, ftp auf 20 und 21 ... Sie können simpleproxy oder tinyproxy verwenden
2707974

Wie stelle ich diesen Proxy für das Terminal ein? Muss ich es explizit für verschiedene Apps einstellen, die auf dem Terminal ausgeführt werden, oder kann ich es so einstellen, dass alle Befehle, die ich auf dem Terminal ausführe, diesen Proxy durchlaufen?
Anonymes Schnabeltier

Das Ubuntu-Terminal benötigt einen http-Proxy. Wenn Sie einen SOCKS5-Proxy verwenden, können Sie SOCKS5 wie proxychainsShadowsocks mit einem http-Proxy verbinden. Überprüfen Sie diese github.com/shadowsocks/shadowsocks/wiki/…
Hakunami

Antworten:


18

Terminal ist keine Netzanwendung. Vielleicht besser ist in Ihrem Fall zu sagen, Terminal Container für Netto-Anwendung wie ssh, telnet, lftp, wget, lynx...

Bearbeiten Sie Ihre:

sudo -H gedit /etc/profile.d/proxy.sh

Geben Sie die Details in diesem Format ein.

export http_proxy=http://username:password@proxyhost:port/ 
export ftp_proxy=http://username:password@proxyhost:port/
export telnet_proxy=http://username:password@proxyhost:port/

Dies ist für die bei der Verwendung von wget, ftp, lftp, telnetim Terminal

sshWenn Sie keinen nativen SOCKSClient-Support haben, müssen Sie dafür a verwenden ProxyCommand, zum Beispiel mit socat:

ssh -o ProxyCommand='socat - SOCKS4A:myproxy:%h:%p,socksuser=nobody' user@host

Oder nutzen Sie Dinge, die Sie gerne tsockstransparent SOCKSfür den TCPVerkehr nutzen.

Für SOCKS5mit socat 2:

ssh -o ProxyCommand='socat - "SOCKS5:%h:%p|tcp:myproxy:1080"' user@host

Für die HTTP-Proxy-CONNECT-Methode mit socat 2:

ssh -o ProxyCommand='socat - "PROXY:%h:%p|tcp:myproxy:80"' user@host

1
Erwähnenswert ist, dass die Datei proxy.sh ausführbar gemacht werden sollte.
Alireza

40

Exportieren Sie die folgenden Variablen in Terminal

export http_proxy='http://proxyServerSddress:proxyPort'    
export https_proxy='https://proxyServerSddress:proxyPort'

Verwenden Sie die folgenden Befehle, um den Proxy zu deaktivieren

unset http_proxy
unset https_proxy

+1 für nicht
gesetzte

0

Ich setze Exportvariablen

export http_proxy=http://username:password@proxyhost:port/ 
export https_proxy=https://username:password@proxyhost:port/
export ftp_proxy=http://username:password@proxyhost:port/

in ~ / .bashrc und / etc / enviroment


0

In meinem Fall fehlte entweder ein Anführungszeichen auf beiden Seiten. Putten "http//.."war falsch und nicht, was auch http//...falsch war. Was funktionierte, war ... wenn ich auf beiden Seiten einzelne Anführungszeichen verwendete.

export http_proxy='http://username:password@proxyhost:port/' export https_proxy='https://username:password@proxyhost:port/' export ftp_proxy='http://username:password@proxyhost:port/'

Denken Sie daran, dass diese drei drei Befehle dreimal separat ausgeführt werden müssen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.