ssh 反向代理 外網訪問內網
先明確一下概念
外網是有固定ip的機器,ssh可以之間連接上;
內網是類似公司局域網之類,有獨立ip但是不能ssh,需要管理員做端口轉發等等權限性操作才可以。
文中用內網表示需要被訪問的局域網內電腦,用外網表示局域網外電腦。
# 一、首先,查看外網現有的ssh端口開放情況。
[zhipeng@zhangzhipeng2023.cn ~]$sudo netstat -anopl | grep ssh
[sudo] password for zhipeng:
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 22645/sshd off (0.00/0/0)
-------------------------------------------------------------------
內網ssh連接外網:
ssh -C -R (vpsPort ):(vpsHostname ): (mySSHPort )-p(vpsSSHPort )(vpsUser )@(vpsIP )
參數說明:
-C 數據壓縮;
-R vpsPort 要綁定的外網端口;
vpsHostname 給外網設置主機名;
mySSHPort 內網ssh服務的端口。
-p vpsSSHPort 外網ssh服務端口
vpsUser 外網用戶名
vpsIP 外網用戶名
</div>
neiwang@ZHIPENG-PC ~ $ ssh -C -R 3345:localhost:22 -p 22 zhipeng@VPSIP
Last login: Tue Jun 9 13:12:51 2015 from NeiWangIP
Welcome to WaiWang Compute Service!
# OK,成功登陸到外網服務器上
# 二、現在再查看一下外網的SSH端口狀態
可以看到,外網已經在監聽3344端口,并且和內網電腦建立了ssh連接
[zhipeng@zhangzhipeng2023.cn ~]$sudo netstat -anopl | grep ssh
[sudo] password for zhipeng:
tcp 0 0 127.0.0.1:3345 0.0.0.0:* LISTEN 22799/sshd: zhipeng off (0.00/0/0)
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 22645/sshd off (0.00/0/0)
tcp 0 36 VPSIP:22 NeiWangIP:11694 ESTABLISHED 22796/sshd: zhipeng on (0.38/0/0)
# 三、 接著,試一下從外網ssh內網
$ssh -C -N -D(vpsPort ) -p(mySSHPort ) (myHostname )@(vpsHostname )
參數我就不解釋了,看名字和第一步對比就知道了 myName是內網用戶名
我這里加-f -N 是會報錯的,如下:
[zhipeng@zhangzhipeng2023.cn ~]$ssh -C -f -N -D 3345 -p 3345 neiwang@localhost
The authenticity of host '[localhost]:3345 ([127.0.0.1]:3345)' can't be established.
ECDSA key fingerprint is 93:e8:a5:fa:1a:3e:0e:19:6e:c3:28:af:f7:9d:15:3c.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[localhost]:3345' (ECDSA) to the list of known hosts.
neiwang@localhost's password:
bind: Cannot assign requested address
channel_setup_fwd_listener: cannot listen to port: 3345
Could not request local forwarding.
</div>
[zhipeng@zhangzhipeng2023.cn ~]$sudo ssh -C -D 3345 -p 3345 neiwang@localhost
neiwang@localhost's password: #輸入內網密碼
bind: Cannot assign requested address
channel_setup_fwd_listener: cannot listen to port: 3345
Could not request local forwarding.
Last login: Tue Jun 9 13:18:53 2015 from 127.0.0.1
</div>
[2015-06-09 13:21.51] ~
[neiwang.neiwang-PC] 0bB logout
Connection to localhost closed.
</div>
</div>
ssh反向代理大功告成。
題外話,也不能全算題外話,很重要的
0、安全問題,慎用。
1、別忘了打開內網的sshd服務
2、外網iptables記得打開端口(防火墻)
3、如果內網電腦是windows,記得關閉防火墻,或者設置好端口訪問,不然ssh 22端口會訪問異常無法連接。
</div>
來自:http://blog.sina.com.cn/s/blog_83dc494d0102vph3.html
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!