ä¿®å¤ä»£çå¼èµ·ç SSH æèµ·é®é¢ | AIçæåç¿»è¯
é®é¢ï¼ä¸ºä»ä¹æç SSH è¿æ¥ OpenWrt è·¯ç±å¨ï¼192.168.2.1ï¼ä¼å¡æ»ï¼åçå¨ âConnecting toâ¦âï¼ï¼è ping å´æ¯æ£å¸¸çï¼è¯¥å¦ä½ä¿®å¤ï¼
åçï¼
æ ¹æ¬åå ï¼ä½ ç HTTP/HTTPS Proxy æ¦æªäº SSH
ä»ç»è§å¯ä½ çç»ç«¯è¾åºï¼æå ³é®çè¯æ®å°±å¨å¼å¤´ï¼
ð Proxy Settings Detected:
- HTTP_PROXY: http://127.0.0.1:7890
- HTTPS_PROXY: http://127.0.0.1:7890
SSH ä½¿ç¨ TCP port 22ãå½è®¾ç½®äº HTTP_PROXY æ HTTPS_PROXY ç¯å¢åéæ¶ï¼æäº Proxy å·¥å
·ï¼å¦è¿è¡å¨ 7890 端å£ç ClashãV2RayãShadowsocks 客æ·ç«¯ï¼ä¼æ¦æªææä¼ åºç TCP è¿æ¥ï¼å
æ¬ SSHãProxy å°è¯éè¿ HTTP CONNECT é§é转åä½ ç SSH è¿æ¥ï¼ä½ç®æ 192.168.2.1 æ¯ç§æ LAN IPï¼å¯¼è´ Proxy è¦ä¹æç»è¿æ¥ï¼è¦ä¹æ æ³è·¯ç±ï¼æè
å¹²è塿»ã
Ping (ICMP) ä¸åå½±åï¼å 为 ICMP 䏿¯ TCPï¼Proxy ä¸ä¼å¤çå®ââè¿æ£æ¯ä¸ºä»ä¹ ping æ£å¸¸ä½ SSH ä¸éçåå ã
ä¿®å¤æ¹æ¡
â æ¹æ¡ 1ï¼éå¯¹ç§æ/LAN IPs ç»è¿ Proxyï¼æä½³é¿ææ¹æ¡ï¼
æ·»å NO_PROXY æ¥æé¤ææç§æç½æ®µï¼
export NO_PROXY="localhost,127.0.0.1,192.168.0.0/16,10.0.0.0/8,172.16.0.0/12"
ç¶åéè¯ SSHï¼
ssh root@192.168.2.1
è¥è¦æ°¸ä¹
çæï¼è¯·å°è¯¥ export è¯å¥æ·»å å°ä½ ç ~/.zshrc æ ~/.bashrc ä¸ã
â æ¹æ¡ 2ï¼ä» ä¸ºæ¤ SSH å½ä»¤ä¸´æ¶åæ¶ Proxy åé
env -u HTTP_PROXY -u HTTPS_PROXY ssh root@192.168.2.1
è¿ä¼å¨ä¸æ¹åå½åç¯å¢çæ åµä¸ï¼ä¸´æ¶æ¸ é¤è¯¥å½ä»¤ç Proxy 设置ã
â
æ¹æ¡ 3ï¼å¨ ~/.ssh/config ä¸ä½¿ç¨ ProxyCommand none
ä½ ç SSH config ä¸å·²ç»æä¸ä¸ªä¸ºææ Host åºç¨é项ç * 模åãè¯·ä¸ºä½ çè·¯ç±å¨æ·»å ä¸ä¸ªç¹å®çè¦çè§åï¼
Host 192.168.2.1
ProxyCommand none
User root
è¿ä¼åç¥ SSH ç´æ¥è¿æ¥ï¼ç»è¿ä»»ä½å¯è½è®¾ç½®ç ProxyCommandã
â æ¹æ¡ 4ï¼é ç½®ä½ ç Proxy åºç¨ç»è¿ LAN
å¦æä½ ä½¿ç¨çæ¯ Clash, V2Ray, Mihomo æç±»ä¼¼å·¥å ·ï¼7890 端å£éå¸¸æ¯ Clashï¼ï¼
æå¼ Proxy åºç¨çé 置并添å LAN bypass è§åã以 Clash 为ä¾ï¼
bypass:
- localhost
- 127.*
- 10.*
- 172.16.*
- 192.168.*
- "*.local"
å¦æä½ å¸æææå·¥å ·ï¼SSH, curl çï¼é½è½èªå¨ç»è¿ LAN å°åç Proxyï¼è¿æ¯æå½»åºçè§£å³åæ³ã
为ä»ä¹ä½ ç SSH Config 让æ åµå徿´ç³
æ ¹æ®ä½ ç verbose è¾åºï¼
debug1: /Users/lzwjava/.ssh/config line 4: Skipping Host block because of negated match for 192.168.*.*
debug1: /Users/lzwjava/.ssh/config line 6: Applying options for *
ä½ å¨ SSH config ä¸è®¾ç½®äºä¸ä¸ªå¦å®è§å !192.168.*.*ï¼æ¥çæ¯ä¸ä¸ªéé
符 * 模åãè¿ä¸ª * 模åå¾å¯è½è®¾ç½®äº ProxyCommand æç¸å
³ç Proxy é项ï¼è¿å¨é
ç½® SSH éè¿ SOCKS Proxy è¿æ¥ææä¸»æºæ¶å¾å¸¸è§ï¼ãç±äºå¹é
å°äºéé
符è§åï¼å®è¢«åºç¨å°äº 192.168.2.1ï¼å¯¼è´ SSH æ¡æéè¿ä½ ç Proxy è¿è¡ã
æ°¸ä¹ è§£å³æ¹æ¡ï¼ç»å以ä¸ä¸¤ä¸ªé®é¢ï¼ï¼
# ~/.ssh/config
# ä¸ºææ LAN å°åç»è¿ Proxy
Host 192.168.* 10.* 172.16.*
ProxyCommand none
ServerAliveInterval 30
# ä½ åæçéé
符é
ç½®ï¼å
å« Proxy è®¾ç½®ï¼æ¾å¨ä¸æ¹
Host *
...ä½ ç°æçé项...
å¿«éæ»ç»
TL;DR ââ è¿è¡ env -u HTTP_PROXY -u HTTPS_PROXY ssh root@192.168.2.1 æ¥ç¡®è®¤è¿æ¯å¦æ¯åå ã妿è½ç«å³è¿æ¥ï¼è¯·æ·»å æ°¸ä¹
ç NO_PROXY æä¿®å¤ä½ ç ~/.ssh/configã
åèèµæï¼
- https://discussions.apple.com/thread/255263733
- https://www.theregister.com/2020/04/01/apples_macos_catalina_ssh/
